我遇到了奇怪的问题。当我使用File_exist或is_file执行文件检查时,它只检查一半文件...我的脚本执行的操作是处理csv文件,并且仅当服务器上存在该文件时才将数据插入表中。如果我删除文件检查一切正常。我仔细检查以确保服务器上存在所有文件,因为某种原因它只是中途停止。
$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;
}
答案 0 :(得分:0)
使用“-e”测试条件尝试。 例如::
if(-e $dirchk1){ print "File exists\n"; }
还要确保您的变量$ dirchk1等是否正确填充。 请检查它是否有效。
答案 1 :(得分:0)
脚本处理正确,人为错误乳清验证我。