=3){ $from=$argv[1]; $to=$argv[2]; echo "From: {$from} To:{$to}"; } else if($argc>=1){ $from=0; $to = 216; echo "生成全部217本书"; } else{ echo "参数错误"; exit; } } else{ echo ""; echo "

Insert to Index

"; if(isset($_GET["from"])==false){ echo '
'; echo 'From:
'; echo 'To:
'; echo ''; echo '
'; exit; } else{ $from=$_GET["from"]; $to=$_GET["to"]; } } $g_wordCounter=0; $g_wordIndexCounter=0; $iAllWordIndex=array(); $sAllWord=array(); $dirLog=_DIR_LOG_."/"; $dirXmlBase=_DIR_PALI_CSV_."/"; $filelist=array(); $fileNums=0; $log=""; echo "\n

$from

"; if(($handle=fopen("filelist.csv",'r'))!==FALSE){ while(($filelist[$fileNums]=fgetcsv($handle,0,','))!==FALSE){ $fileNums++; } } if($to==0 || $to>=$fileNums) $to=$fileNums-1; for($iFile=$from;$iFile<=$to;$iFile++){ echo "

{$iFile}

"; $FileName=$filelist[$iFile][1].".htm"; $fileId=$filelist[$iFile][0]; $inputFileName=$FileName; $outputFileNameHead=$filelist[$iFile][1]; $bookId=$filelist[$iFile][2]; $dirXml=$outputFileNameHead."/"; $xmlfile = $inputFileName; echo "doing:".$xmlfile."
"; $log=$log."$iFile,$FileName,open\r\n"; $arrInserString=array(); $db_file = _FILE_DB_PAGE_INDEX_; PDO_Connect("sqlite:$db_file"); // 打开文件并读取数据 $irow=0; if(($fp=fopen($dirXmlBase.$dirXml.$outputFileNameHead.".csv", "r"))!==FALSE){ // 开始一个事务,关闭自动提交 $PDO->beginTransaction(); $query="INSERT INTO m ('book','para','page1','page2') VALUES (?,?,?,?)"; $stmt = $PDO->prepare($query); $currPage=array(0,0); $currPara = 0; while(($data=fgetcsv($fp,0,','))!==FALSE){ $irow++; if($irow>1){ if($data[6]==".ctl." && mb_substr($data[5],0,1,"UTF-8")=="M"){ $sPage= mb_substr($data[5],1,6,"UTF-8"); $aPage = explode(".",$sPage); if(count($aPage)==2){ $currPage = $aPage; } else{ echo "错误的页码: {$data[5]} \n "; } } $para = $data[3]; if($currPara!=$data[3]){ $currPara=(int)$data[3]; $book = mb_substr($data[2],1, null ,"UTF-8"); $para = $currPara; $page1 = $currPage[0]; $page2 = $currPage[1]; $stmt->execute(array($book,$para,$page1,$page2)); } } } // 提交更改 $PDO->commit(); if (!$stmt || ($stmt && $stmt->errorCode() != 0)) { $error = PDO_ErrorInfo(); echo "error - $error[2]
"; $log.="$from, $FileName, error, $error[2] \r\n"; } else{ echo "updata recorders.
"; $log.="updata recorders.\r\n"; } fclose($fp); echo "单词表load:".$dirXmlBase.$dirXml.$outputFileNameHead.".csv
\n"; } else{ echo "can not open csv file. filename=".$dirXmlBase.$dirXml.$outputFileNameHead.".csv"; } } echo "齐活!功德无量!all done!"; ?>