2026, 새로운 도약을 시작합니다.

엑셀 업로드가 오류가 납니다..무엇이 문제인가요..? 채택완료

엑셀 업로드 시 

신규파일에 파일을 첨부하면 페이지가 작동하지 않는다고 나오고

수정파일에 파일을 첨부하면 성공은 하는데, 엑셀에 작성해놓은 셀들이 나타나지 않습니다..

excel_up1.php

Copy






.new_excel{border:3px solid #ccc; padding:0 20px 20px 20px; margin-top:20px;}

.new_excel h1{margin:10px 0;}

.excel_info {margin-bottom:10px; line-height:18px;}

.btn_confirm {margin-top:15px;}





    

    

        

            엑셀파일을 저장하실 때는 Excel 97 - 2003 통합문서 (*.xls) 로 저장하셔야 합니다.

        

         

            

excel_up2.php

Copy

excel_up3.php

Copy

무엇이문제일까요..?ㅠㅠㅠㅠ..

도움부탁드립니다..개발자분이없어서 디자이너인 제가 하려니 어렵네요..

답변 3개

채택된 답변
+20 포인트

1) excel_up2.php 원래 파일로 교체하기 (에러 표시내용 확인 코드 추가 ini_set("display_errors", 1); )

2) excel_up1.php 상단 include_once(G5_PATH.'/_head.php');  다음라인에 다음 코드 추가

$bo_table = "[게시판 ID]";

게시판 ID 부분에는 실제로 업로드하고자 하는 게시판의 ID 를 입력해야 됩니다. ex. $bo_table = "notice";

=> 확인

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

Warning: Use of undefined constant ex_type - assumed 'ex_type' (this will throw an Error in a future version of PHP) in /goldmoondnc46/www/theme/design/skin/board/hs_excel/excel_up2.php on line 4 Warning: Use of undefined constant ex_type - assumed 'ex_type' (this will throw an Error in a future version of PHP) in /goldmoondnc46/www/theme/design/skin/board/hs_excel/excel_up2.php on line 62 Fatal error: Uncaught Error: Call to undefined function mysql_insert_id() in /goldmoondnc46/www/theme/design/skin/board/hs_excel/excel_up2.php:154 Stack trace: #0 {main} thrown in /goldmoondnc46/www/theme/design/skin/board/hs_excel/excel_up2.php on line 154

이렇게 나옵니다! ㅜㅠㅜ
excel_up2.php

1)
$wr_id = mysql_insert_id();
->
$wr_id = sql_insert_id();

2)
error_reporting(E_ALL ^ E_NOTICE);
->
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);

수정
정말 감사합니다.ㅠㅠㅠㅠㅠ...한개만 더 여쭤 봐도 될까요? 현재 지역명을 가져오는 코드가 list.skin.php에서 <td class="td_field area" title="<?php echo $list[$i]['wr_6'] ?>"><?php echo $list[$i]['wr_6'] ?></td>이렇게 되있는데 다른영역의 셀은 다 전부 정상적으로 노출되는데 지역별 부분만 빈공간으로 공백으로 나오고있습니다. excel_up2부분을 고쳐야하는것 같은데 어디를 고쳐야할까요?ㅠㅠ
지금의 정보로는 정확한 원인을 알기 어렵습니다.

게시판 DB 테이블의 wr_6 칼럼에 데이터가 들어가는 부분에 문제가 있는지,
wr_6 칼럼에 들어가있는 데이터를 출력하는 부분에 문제가 있는지
하나씩 살펴봐야 됩니다.

excel_up2.php 에서
$wr_6 = addslashes($data->sheets[0]['cells'][$i][8]); //필드6
코드는 엑셀의 9번째열에 있는 데이터를 wr_6 칼럼에 넣는다는 의미입니다.

DB 관리 툴을 통해 https://sir.kr/g5_tip/15716
DB 에 데이터가 들어가 있는지 먼저 살펴보는 것이 좋습니다.

기대했던 데이터가 들어가있지 않다면 저장하는 부분에서,
기대했던 데이터가 들어가 있다면 출력하는 부분에 문제가 있는 것입니다.

댓글을 작성하려면 로그인이 필요합니다.

https://sir.kr/qa/405998?stx=.htaccess&sst=wr_num&unanswered=0&s_tag=

에러 표시하는 방법 참고하세요.

echo $sql;

sql_query($sql);

이렇게 해서 나온 sql 문자열을 알려 주세요. sql 문장에 오류가 있는 듯합니다.

또는 

sql_query($sql, true);

이렇게 해 보시고

오류를 확인할 때는 마지막에 alert()는 주석 처리하세요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

excel_up2.php 상단에

ini_set("display_errors", 1);

코드를 추가하면 500 에러의 상세내용이 표시됩니다. (include_once('./_common.php'); 코드 다음 라인)

해당 에러 내용을 알려주시는 것이 좋을 것 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

다른분이 올려놓은 EXCEL_UP2.PHP를 바꿧더니 정상작동이 됩니다. 근데 ㅜㅜ 업로드가 완료됬다고 하면서 업로드한 엑셀은 나오지않는데 문제가 뭘까요? ㅜ ..

[code]
<?php
include_once('./_common.php');

if(!$_POST[ex_type]){
alert("파일유형을 선택해주세요");
}
// 상품이 많을 경우 대비 설정변경
set_time_limit ( 0 );
ini_set('memory_limit', '50M');

if(!$_FILES['excelfile']['tmp_name']) {
alert("등록하실 파일이 없습니다");
}
if($_FILES['excelfile']['tmp_name']) {
$file = $_FILES['excelfile']['tmp_name'];
include_once(G5_LIB_PATH.'/Excel/reader.php');
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding.
$data->setOutputEncoding('UTF-8');
$data->read($file);
error_reporting(E_ALL ^ E_NOTICE);


$write_table = "g6_write_rank2";
$return=0;
$overlab_count=0;
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) { //$i == 몇번째 라인부터 등록할건지
$total_count++;

if($_POST[ex_type] == "2"){
$wr_id = addslashes($data->sheets[0]['cells'][$i][1]); //wr_id
$date = addslashes($data->sheets[0]['cells'][$i][2]); //date
$wr_subject = addslashes($data->sheets[0]['cells'][$i][3]); //필드1
$wr_1 = $year.'-'.str_pad($month, 2, "0", STR_PAD_LEFT).'-'.str_pad($day, 2, "0", STR_PAD_LEFT);
$wr_2 = addslashes($data->sheets[0]['cells'][$i][4]); //필드2
$wr_3 = addslashes($data->sheets[0]['cells'][$i][5]); //필드3
$wr_4 = addslashes($data->sheets[0]['cells'][$i][6]); //필드4
$wr_5 = addslashes($data->sheets[0]['cells'][$i][7]); //필드5
$wr_6 = addslashes($data->sheets[0]['cells'][$i][8]); //필드6
$wr_7 = addslashes($data->sheets[0]['cells'][$i][9]); //필드7
$wr_8 = addslashes($data->sheets[0]['cells'][$i][10]); //필드8
$wr_9 = addslashes($data->sheets[0]['cells'][$i][11]); //필드9
$wr_10 = addslashes($data->sheets[0]['cells'][$i][12]); //필드10

$sql = " update {$write_table}
set wr_subject = '$wr_subject',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10'
where wr_id = '$wr_id' ";

sql_query($sql);

}else{
$mb_id = $member['mb_id'];
$wr_1 = addslashes($data->sheets[0]['cells'][$i][1]);
$wr_2 = addslashes($data->sheets[0]['cells'][$i][2]); //필드1
$wr_3 = addslashes($data->sheets[0]['cells'][$i][3]);
$wr_7 = addslashes($data->sheets[0]['cells'][$i][4]);
$wr_4 = addslashes($data->sheets[0]['cells'][$i][5]);
$wr_5 = addslashes($data->sheets[0]['cells'][$i][6]);
$wr_6 = addslashes($data->sheets[0]['cells'][$i][7]);
$wr_8 = addslashes($data->sheets[0]['cells'][$i][8]);
$wr_9 = addslashes($data->sheets[0]['cells'][$i][9]);
$wr_10 = addslashes($data->sheets[0]['cells'][$i][10]);
$wr_num = get_next_num($write_table);

$chkquery="select * from {$write_table} where wr_1='{$wr_1}' and wr_2='{$wr_2}' and wr_3='{$wr_3}' and wr_4='{$wr_4} and wr_7='{$wr_7}'";
$chk=sql_query($chkquery);
while($row=sql_fetch_array($chk)){
$chk_wrid=$row[wr_id];
}
if($chk_wrid==''){
$sql = "insert into $write_table
set wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10'";

sql_query($sql);

$mb_id = sql_insert_id();

// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");

// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$mb_id}' ) ");

// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
$return = $return+1;
}
else{
$sql = " update {$write_table}
set wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10'
where wr_1='{$wr_1}' and wr_2= '{$wr_2}'and wr_3= '{$wr_3}'and wr_4= '{$wr_4}' ";

sql_query($sql);
$overlab_count = $overlab_count+1;
}




}//for end

}
}
alert($return."개의 데이터가 업로드 되었습니다.".$overlab_count."개의 데이터가 수정되었습니다.",G5_BBS_URL."/board.php?bo_table=".$bo_table);

?>

[/code]
excel_up2.php 파일은,

"게시판 글 내용" 엑셀 파일을
-> 게시판 글 DB 에 insert 또는 update 하는 것으로
코딩이 되어 있습니다.

정상처리 여부는 게시판 글 DB 를 DB 에 접속해서 직접하거나, 브라우저로 해당 게시판으로 접속했을 때.. 게시글 내용이 추가되었는지 확인하면 됩니다.

"업로드한 엑셀은 나오지 않는데"라는 말의 의미를 잘 모르겠습니다.
엑셀업로드를 하면 업로드 109건이 완료되었습니다! 이렇게 뜨는데 화면엔 엑셀이 아무것도 업로드 되지않았습니다..ㅠㅠ어느부분을 건드려야할지..
원래의 excel_up2.php 로 바꾼 후,

상단에 ini_set("display_errors", 1);

코드를 추가하여 에러내용을 확인해야.. 해당 에러를 고칠 수 있습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고