php엑셀리더 디비에저장이 안되요 ㅠㅠ
-
게시물 수정 , 삭제는 로그인 필요
엑셀리더를 사용한건데요 업로드까지는 잘 되는데 이 엑셀내용이 디비에 저장이 안되네요 ;;;
뭐가 문제 일까요?> ㅠㅠ
요거는 excel.php
------------------------------------------------------------------------------------------------
<?
$sub_menu = "100999";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
$token = get_token();
// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴
function get_token()
{
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
return $token;
}
//$es[title] = $html_title;
include_once ("$g4[admin_path]/admin.head.php");
?>
<?=subtitle("엑셀업로드")?>
<form name='fpost' method="post" enctype="multipart/form-data" action="excel_update.php">
<input type="hidden" name="r" value="1" />
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr height="25">
<td>샘플</td><td><a href="excel.xls">excel.xls</a></td>
</tr>
<tr height="25">
<td>첨부파일</td><td><input type="file" name="excel" size="20" /></td>
</tr>
<tr height="25"><td colspan="2"></td></tr>
<tr height="25"><td colspan="2" align="center"><input type="submit" value=" 전 송 " /></td></tr>
</table>
</form>
<?
include_once("./admin.tail.php");
?>
------------------------------------------------------------------------------------------------
excel_update.php
<?
$sub_menu = "100999";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
if (empty($_POST)) {
$upload_max_filesize = ini_get('upload_max_filesize');
alert("파일 또는 글내용의 크기가 서버에서 설정한 값을 넘어 오류가 발생하였습니다.\\n\\npost_max_size=".ini_get('post_max_size')." , upload_max_filesize=$upload_max_filesize\\n\\n서버관리자에게 문의 바랍니다.");
}
require_once "$g4[admin_path]/phpExcelReader/Excel/reader.php";
if(!$_FILES[excel][name]) alert('첨부파일을 올려주세요.');
if(substr($_FILES[excel][name], -4) != '.xls') alert('첨부파일은 xls형식으로 올려주세요.');
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding. - 원하시는 출력 문자종류를 설정
$data->setOutputEncoding('euc-kr');
$data->read($_FILES[excel][tmp_name]);
error_reporting(E_ALL ^ E_NOTICE);
$insert = $update = 0;
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {//첫줄이 제목줄이여서 2부터 시작합니다. 내용만으로 이루어지면 1, 제목줄이 길면 그만큼 넘기고 시작하시면 됩니다.
if(!trim($data->sheets[0]['cells'][$i][1])) continue;
// 실행하고자 하는 디비명령문을 작성합니다.(신규시)
$sql = "insert into $g4[test_table] set fa_sub_no='".$data->sheets[0]['cells'][$i][1]."', fa_no = '".$data->sheets[0]['cells'][$i][2]."', fa_sub_name = '".$data->sheets[0]['cells'][$i][3]."', fa_sub_name_chin = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', fa_content = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', fa_sub_img = '".addslashes($data->sheets[0]['cells'][$i][6])."'";
if(!sql_query($sql, false)) {// 신규입력 실패시 수정 문으로 전환합니다.
sql_query("update $g4[test_table] set fa_no = '".$data->sheets[0]['cells'][$i][2]."', fa_sub_name = '".$data->sheets[0]['cells'][$i][3]."', fa_sub_name_chin = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', fa_content = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', fa_sub_img = '".addslashes($data->sheets[0]['cells'][$i][6])."' where fa_sub_no='".$data->sheets[0]['cells'][$i][1]."'", false);
$update++;//수정시
} else $insert++;//신규성공시
}
/*//단순내용 출력시 이 부분 주석을 풀어주세요.
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
}
*/
alert("신규 : ".number_format($insert)." 건, 수정 : ".number_format($update)." 건, 총 ".number_format($insert+$update)." 건입니다.\\n\\n확인후 틀리다면 데이터를 분리해서 입력해주세요.", "excel.php");
?>
------------------------------------------------------------------------------------------------
그리고 reader.php파일에서
require_once 'oleread.inc'; 이렇게 수정해 줬구요
어디를 수정해야 디비에 들어갈수있을까요??
디비명은 test_table 이구요
테이블은 요렇게 만들어 놨어요
fa_sub_no varchar(20) euckr_korean_ci 아니오 None
fa_no varchar(11) euckr_korean_ci 아니오 None
fa_sub_name varchar(11) euckr_korean_ci 아니오 None
fa_sub_name_chin varchar(11) euckr_korean_ci 아니오 None
fa_content varchar(11) euckr_korean_ci 아니오 None
fa_sub_img varchar(11) euckr_korean_ci
뭐가 문제 일까요?> ㅠㅠ
요거는 excel.php
------------------------------------------------------------------------------------------------
<?
$sub_menu = "100999";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
$token = get_token();
// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴
function get_token()
{
$token = md5(uniqid(rand(), true));
set_session("ss_token", $token);
return $token;
}
//$es[title] = $html_title;
include_once ("$g4[admin_path]/admin.head.php");
?>
<?=subtitle("엑셀업로드")?>
<form name='fpost' method="post" enctype="multipart/form-data" action="excel_update.php">
<input type="hidden" name="r" value="1" />
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr height="25">
<td>샘플</td><td><a href="excel.xls">excel.xls</a></td>
</tr>
<tr height="25">
<td>첨부파일</td><td><input type="file" name="excel" size="20" /></td>
</tr>
<tr height="25"><td colspan="2"></td></tr>
<tr height="25"><td colspan="2" align="center"><input type="submit" value=" 전 송 " /></td></tr>
</table>
</form>
<?
include_once("./admin.tail.php");
?>
------------------------------------------------------------------------------------------------
excel_update.php
<?
$sub_menu = "100999";
include_once("./_common.php");
auth_check($auth[$sub_menu], "r");
if (empty($_POST)) {
$upload_max_filesize = ini_get('upload_max_filesize');
alert("파일 또는 글내용의 크기가 서버에서 설정한 값을 넘어 오류가 발생하였습니다.\\n\\npost_max_size=".ini_get('post_max_size')." , upload_max_filesize=$upload_max_filesize\\n\\n서버관리자에게 문의 바랍니다.");
}
require_once "$g4[admin_path]/phpExcelReader/Excel/reader.php";
if(!$_FILES[excel][name]) alert('첨부파일을 올려주세요.');
if(substr($_FILES[excel][name], -4) != '.xls') alert('첨부파일은 xls형식으로 올려주세요.');
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding. - 원하시는 출력 문자종류를 설정
$data->setOutputEncoding('euc-kr');
$data->read($_FILES[excel][tmp_name]);
error_reporting(E_ALL ^ E_NOTICE);
$insert = $update = 0;
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {//첫줄이 제목줄이여서 2부터 시작합니다. 내용만으로 이루어지면 1, 제목줄이 길면 그만큼 넘기고 시작하시면 됩니다.
if(!trim($data->sheets[0]['cells'][$i][1])) continue;
// 실행하고자 하는 디비명령문을 작성합니다.(신규시)
$sql = "insert into $g4[test_table] set fa_sub_no='".$data->sheets[0]['cells'][$i][1]."', fa_no = '".$data->sheets[0]['cells'][$i][2]."', fa_sub_name = '".$data->sheets[0]['cells'][$i][3]."', fa_sub_name_chin = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', fa_content = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', fa_sub_img = '".addslashes($data->sheets[0]['cells'][$i][6])."'";
if(!sql_query($sql, false)) {// 신규입력 실패시 수정 문으로 전환합니다.
sql_query("update $g4[test_table] set fa_no = '".$data->sheets[0]['cells'][$i][2]."', fa_sub_name = '".$data->sheets[0]['cells'][$i][3]."', fa_sub_name_chin = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', fa_content = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', fa_sub_img = '".addslashes($data->sheets[0]['cells'][$i][6])."' where fa_sub_no='".$data->sheets[0]['cells'][$i][1]."'", false);
$update++;//수정시
} else $insert++;//신규성공시
}
/*//단순내용 출력시 이 부분 주석을 풀어주세요.
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
}
*/
alert("신규 : ".number_format($insert)." 건, 수정 : ".number_format($update)." 건, 총 ".number_format($insert+$update)." 건입니다.\\n\\n확인후 틀리다면 데이터를 분리해서 입력해주세요.", "excel.php");
?>
------------------------------------------------------------------------------------------------
그리고 reader.php파일에서
require_once 'oleread.inc'; 이렇게 수정해 줬구요
어디를 수정해야 디비에 들어갈수있을까요??
디비명은 test_table 이구요
테이블은 요렇게 만들어 놨어요
fa_sub_no varchar(20) euckr_korean_ci 아니오 None
fa_no varchar(11) euckr_korean_ci 아니오 None
fa_sub_name varchar(11) euckr_korean_ci 아니오 None
fa_sub_name_chin varchar(11) euckr_korean_ci 아니오 None
fa_content varchar(11) euckr_korean_ci 아니오 None
fa_sub_img varchar(11) euckr_korean_ci