2010-12-12 14 views
0

私は奇妙な問題があります。 File_existまたはis_fileでファイルチェックを実行すると、ファイルの半分しかチェックされません。スクリプトが行うのはcsvファイルを処理し、そのファイルがサーバー上に存在する場合のみデータをテーブルに挿入することです。ファイルのチェックを外すとすべての処理が正常に行われます。私はすべてのファイルが何らかの理由で途中で停止するサーバー上に存在することを確認するために二重チェックをしました。while文がfile_exists/is_fileで完全に処理されない

$column_headers = array(); 
$row_count = 0; 

if (mysql_result(
    mysql_query(
     "SELECT count(*) FROM load_test WHERE batch_id='".$batchid."'" 
    ), 0 
    ) > 0) { 
    die("Error batch already present"); 
} 

while (($data = fgetcsv($handle, 0, ",")) !== FALSE) { 
    if ($row_count==0){ 
    $column_headers = $data; 
    } else { 
    $dirchk1 = "/temp/files/" . $batchid . "/" .$data[0] . ".wav"; 
    $dirchk2 = "/files/" . $batchid . "/" . $data[1] . ".wav"; 

    if (file_exists($dirchk1)) { 

     $importword="INSERT into load_test SET 
      word = '".$data[2]."', 
      batch_id = UCASE('".$batchid."'), 
      accent = '".$data[15]."' 
      "; 

     mysql_query($importword); 
     $word_id = mysql_insert_id(); 
     echo $word_id . "\n"; 
    } 
    } 
    ++$row_count; 
} 
+1

エラー/警告/通知表示を有効にして、PHPが何か有益な情報を伝えるかどうかを確認します。 – Matthew

+1

エラーが生じますか? ( 'file_exists($ file)&& is_readable($ file)'を試してください)? – prodigitalson

+1

どこが止まるのですか?どの行が –

答えて

0

"-e"テスト条件で試してください。例えばのために::

 
if(-e $dirchk1){ 
    print "File exists\n"; 
} 

はまた$ dirchk1など、あなたの変数が正しく人口か取得している場合を確認してください。 動作するかどうかを確認してください。

+0

解析エラー:構文エラー、予期しないT_VARIABLE – acctman

0

スクリプトが正しく処理され、人間のホエーが私の部分で確認しています。

関連する問題