엑셀 파일 내용을 게시글로 등록하려고 합니다 채택완료
안녕하세요? 항상 답변 감사합니다. 엑셀 파일을 data/file/apply 폴더에 업로드 하는 것은 성공했습니다 ^^
그런데 해당 엑셀 파일의 내용을 게시글로 등록 하려면 어떻게 해야할까요?
제가 찾는 자료와 비슷한 내용의 자료라도 있을까요?
감사합니다~
<?php
include_once("_common.php");
error_reporting(E_ALL);
ini_set("display_errors", 1);
// 상품이 많을 경우 대비 설정 변경
set_time_limit(0);
ini_set('memory_limit', '50M');
$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');
$targetPath = G5_DATA_PATH . '/file/apply/';
$targetFile = $targetPath . $_FILES['excelFile']['name'];
move_uploaded_file($file, $targetFile);
// print_r($_FILES);
$data->read($targetFile);
error_reporting(E_ALL ^ E_NOTICE);
$write_table = "g5_write_{$bo_table}";
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
$total_count++;
$mb_id = $member['mb_id'];
$wr_name = $member['mb_nick'];
$wr_password = $member['mb_password'];
$wr_email = $member['mb_email'];
$wr_homepage = $member['mb_homepage'];
$wr_num = get_next_num($write_table);
$wr_reply = "";
$wr_subject = addslashes($data->sheets[0]['cells'][$i][2]);
$wr_1 = addslashes($data->sheets[0]['cells'][$i][3]);
$wr_2 = addslashes($data->sheets[0]['cells'][$i][4]);
$wr_3 = addslashes($data->sheets[0]['cells'][$i][5]);
$wr_4 = addslashes($data->sheets[0]['cells'][$i][6]);
$wr_5 = addslashes($data->sheets[0]['cells'][$i][7]);
$wr_6 = addslashes($data->sheets[0]['cells'][$i][8]);
$wr_7 = addslashes($data->sheets[0]['cells'][$i][9]);
$wr_8 = addslashes($data->sheets[0]['cells'][$i][10]);
$wr_9 = addslashes($data->sheets[0]['cells'][$i][11]);
$sql = "INSERT INTO $write_table
SET wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_parent = '$wr_parent',
wr_is_comment = '$wr_is_comment',
wr_comment = '$wr_comment',
ca_name = '$ca_name',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = '$wr_link1_hit',
wr_link2_hit = '$wr_link2_hit',
wr_hit = '$wr_hit',
wr_good = '$wr_good',
wr_nogood = '$wr_nogood',
mb_id = '$mb_id',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '$wr_datetime',
wr_last = '$wr_last',
wr_ip = '$wr_ip',
wr_facebook_user = '$wr_facebook_user',
wr_twitter_user = '$wr_twitter_user',
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'";
sql_query($sql);
$wr_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, mb_id) VALUES ('{$bo_table}', '{$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}'");
}
alert("엑셀파일 업로드가 완료되었습니다.", G5_BBS_URL."/board.php?bo_table=apply");
?>
답변 1개
에휴, 저 아래 질문을 보니 드디어 오류 원인이 나왔는데 질문이 산으로 가고 있네요
The filename is not readable <--
분명 첨부되는데 읽을수 없는 화일이라고 하는 이유는 해당 라이브러리는 xls 화일만 사용합니다
그런데 xlsx 화일을 사용해서 오류가 난 것이 틀림없을 것으로 추측 됩니다
xls로 저장해서 하든가 , lib/PHPExcel 라이브러리를 사용하면 xls, xlsx 모두 사용 가능합니다
그리고 위 소스에서 먼저 질문에는 없던 move_uploaded_file()을 끼워넣었는데
업로드한 액셀화일을 서버에 저장핳 필요가 없을 듯한데 저장하는 코드는 필요없는 처리입니다
이전 소스를 그대로 사용하고 xls로 저장해서 사용하세요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인