作者jolin19 (alex)
看板PHP
标题[请益] help!将excel档案上传~汇入mysql问题!
时间Sat Feb 23 18:32:43 2008
小弟~写了一个将excel档案上传并且
程式利用COM转成csv档~
并且读取csv档汇入mysql中~
测试资料量(笔数)较小的档案汇入都没问题!
但有份档案有较大的资料量为3010笔~
我在localhost测试时都没问题~正常汇入3010笔
但上传至主机後~用远端电脑test时~确总是只汇了2898笔
中间一直少汇入了20笔左右的资料~
try了很久~不知道到底哪里出错?
请各位大大帮帮忙~小弟感激不尽!
下面为code:(小弟也试过用file读档再用explode切不过还是不行...)
<?
$excel = new COM("excel.application") or die("Unable to instanciate excel");
$excel->DisplayAlerts = 0;
$excel->Workbooks->Open("C:\\AppServ\\www\\update\\register\\$upfile");
$excel->Workbooks[1]->SaveAs("C:\\AppServ\\www\\update\\register\\fund.csv",6);
$excel->Quit();
$excel->Release();
$excel = null;
$fpemp=fopen($cfg_path."fund.csv","r");
while ( $rowdata = fgetcsv( $fpemp , 2000 , ",")){ //读取csv档
if ($i++ == 0) //第一笔为抬头不汇入
continue ;
$fund_id = iconv("BIG5","UTF-8",$rowdata[0]); //转换编码至utf-8
$bank_id = iconv("BIG5", "UTF-8", $rowdata[1]);
$region_id = iconv("BIG5", "UTF-8", $rowdata[2]);
$type_id = iconv("BIG5", "UTF-8", $rowdata[3]);
$exchange_id = iconv("BIG5", "UTF-8", $rowdata[4]);
$name = iconv("BIG5", "UTF-8", $rowdata[5]);
$query_insert="INSERT INTO fundeval_fund
(fund_id,name,bank_id,exchange_id,region_id,type_id)VALUES('$fund_id','$name','$bank_id','$exchange_id','$region_id','$type_id')";
$result = mysql_query($query_insert,$link) or die ("Invalid Insert
Query");//写入资料库
}
?>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.68.127.31
1F:推 cychi:你可以先echo出来看看抓出来资料对不对 02/23 20:57
2F:→ cychi:还有php5的fgetcsv 切中文有bug 建议不要用 02/23 20:57