php讀取檔案問題

請問下面語法

if ($handle = opendir("C:\\csv\\")) {

while (false !== ($file = readdir($handle)))

if ($file != "." && $file != "..") {

$a=array($file);

foreach( $a as $Value)

$filename = $file1.$Value;//echo 980815.csv,980816.csv,9808......

$filehandle= fopen($filename, "r");

if($filehandle) {

while(!feof($filehandle)) {

$buffer = fgets($filehandle);

$csv[]=preg_split('/(\s+|\,|\||\;)/i',$buffer);

$row1=$csv[0][0];//echo 98年8月15日

$pattern='/^(\d{2})年(\d{2})月(\d{2})日/i';

$datpre = preg_match($pattern,$row1,$match);

$datfield = sprintf('(\'%d/%d/%d\')',$match[1]+1911,$match[2],$match[3]);

$sql="INSERT INTO tet (nameid ,dte)VALUE('$man',$datfield)";

第一個CSV日可以匯入mysql 但是第二個CSV檔還是顯示第一個日期

$row1好像不會比對或不會讀取第二份以上檔案 請問哪裡需要修正

謝謝

1 個解答

評分
  • 貓霸
    Lv 5
    10 年前
    最佳解答

    你的$csv在讀完每個檔案之前都要先清空啦!

    foreach( $a as $Value)

    $filename = $file1.$Value;//echo 980815.csv,980816.csv,9808......

    中間加一行

    $csv=array();

    即可解決這個問題

還有問題?馬上發問,尋求解答。