我有一个软件,每分钟将一个JPEG文件上传到FTP帐户中。
在PHP中,我编写了一小段代码,并在crontab中运行,以获取最新的JPEG文件并进行图形处理。这项工作很好。
$all_files = scandir("./dir/dir",1);
$last_files = $all_files[0]; //take last jpeg
..etc..
问题在于有时候 crontab 中的 PHP 代码会读取通过 FTP 还在写入中(因此是不完整的)的文件,并生成以下错误:
[01-Jun-2016 15:30:05 Europe/Rome] PHP Warning: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file in /home/asdasd/public_html/www.asdasdasdasd.com/asd/asd/cron.php on line 15
[01-Jun-2016 15:30:05 Europe/Rome] PHP Warning: imagecreatefromjpeg(): './dir/dir/153000.jpg' is not a valid JPEG file in /home/asdasd/public_html/www.asdasdasdasd.com/asd/asd/cron.php on line 15
[01-Jun-2016 15:30:05 Europe/Rome] PHP Warning: imagecopyresampled() expects parameter 2 to be resource, boolean given in /home/asdasd/public_html/www.asdasdasdasd.com/asd/asd/cron.php on line 17
如何添加一个检查scandir的函数以捕获最后一个完整文件而不是正在被写入的文件?
asd.jpg.part
)上传文件,然后在传输完成后进行重命名。然后只扫描以.jpg结尾的文件。 - iainn