项目有一个视频上传的队列文件,这个文件是,有视频上传的时候,就会写入到队列文件去
因为后来读写文件的时候,加了文件锁,所以,file_get_contents()就得不到文件内容了,曲线救国,就改用下前面的方法:
$fileSize = filesize($filePath);
$fileCont = fread($fo, $fileSize);
然而,把read出来的内容再往文件里写的时候,发现,内容不全了
然后,一顿查,打各种log,发现从第二次读的内容就是不全了,为啥呀?
然后去查filesize函数,发现个细节:
Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。
然后,修改代码如下:
clearstatcache();
$fileSize = filesize($filePath);
$fileCont = fread($fo, $fileSize);
嗯,这次正常了
希望,可以帮到遇到同样问题的小伙伴