PHP 问题,害怕抛出错误
PHP problems, fread throwing errors
我的部分代码如下,我正在使用 php 脚本读取目录中的文件,这些文件不断写入,此脚本搜索它们并将其内容写入数据库。我收到的错误是,当文件仍在写入并且此脚本检测到它时它会尝试读取文件,它收到的 $data 与文件大小不匹配,因为它已更改并引发错误。
我的问题是在这个脚本读取文件之前如何确保文件已经写入成功。提前致谢。
$myfile = fopen($filename, "r") or die("Unable to open file!");
$data = fread($myfile,filesize($filename));
fclose($myfile);
一些阅读建议最好将下面的代码包含在写入文件的脚本中。
if (flock($file,LOCK_EX)){
fwrite($file,"Write something");
flock($file,LOCK_UN);
} else {
echo "Error locking file!";
}
可能有很多种方法,但最常用的方法是文件锁定。写入文件时获取锁,写入完成后释放锁。读取文件前检查锁。
我的部分代码如下,我正在使用 php 脚本读取目录中的文件,这些文件不断写入,此脚本搜索它们并将其内容写入数据库。我收到的错误是,当文件仍在写入并且此脚本检测到它时它会尝试读取文件,它收到的 $data 与文件大小不匹配,因为它已更改并引发错误。
我的问题是在这个脚本读取文件之前如何确保文件已经写入成功。提前致谢。
$myfile = fopen($filename, "r") or die("Unable to open file!");
$data = fread($myfile,filesize($filename));
fclose($myfile);
一些阅读建议最好将下面的代码包含在写入文件的脚本中。
if (flock($file,LOCK_EX)){
fwrite($file,"Write something");
flock($file,LOCK_UN);
} else {
echo "Error locking file!";
}
可能有很多种方法,但最常用的方法是文件锁定。写入文件时获取锁,写入完成后释放锁。读取文件前检查锁。