这是一个在Windows下运行的PHP脚本。它之前一直工作正常,但最近出现了问题。
文件已打开并返回有效的文件句柄:
文件已打开并返回有效的文件句柄:
$fh = fopen($filename, 'r');
然而,在第一次调用fgetcsv
时,它返回false
:$headers = fgetcsv($fh, 6000, ',');
$line_no++;
if($headers === FALSE){
echo 'Error parsing file headers';
}
我尝试处理所有的csv文件时都会出现这种情况。我已经尝试了一些其他方法,但似乎都没有用:
ini_set('auto_detect_line_endings', true);
在打开文件之前设置rewind($fh);
在打开文件之后设置- 在第二个参数中使用
0
或类似6000
的数字。 - 将文件的行结束样式从Unix更改为Windows和Mac。
看起来像是Windows系统导致该文件无法解析。
有没有办法从fgetcsv
中返回实际的错误信息?文档并没有提到可以返回错误信息,只说在任何错误时返回false
。是否还有其他Windows设置可能会导致问题?Windows安全设置给予所有人对文件的完全控制。