php 使用filesize函数注意事项

项目有一个视频上传的队列文件,这个文件是,有视频上传的时候,就会写入到队列文件去

因为后来读写文件的时候,加了文件锁,所以,file_get_contents()就得不到文件内容了,曲线救国,就改用下前面的方法:

$fileSize = filesize($filePath);
$fileCont = fread($fo, $fileSize);

然而,把read出来的内容再往文件里写的时候,发现,内容不全了

然后,一顿查,打各种log,发现从第二次读的内容就是不全了,为啥呀?

然后去查filesize函数,发现个细节:

Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。

然后,修改代码如下:
 

clearstatcache();

$fileSize = filesize($filePath);
$fileCont = fread($fo, $fileSize);

嗯,这次正常了

希望,可以帮到遇到同样问题的小伙伴

你可能感兴趣的:(PHP)