以下代码是我编写的PHP Web服务的一部分。它需要一些上载的Base64数据,对其进行解码,然后将其附加到文件中。这一切都很好。
问题是,当我在追加操作之后读取文件大小时,会得到文件在追加操作之前的大小。
$fileOut = fopen($filepath.$filename, "ab") fwrite($fileOut, base64_decode($data)); fflush($fileOut); fclose($fileOut); $newSize = filesize($filepath.$filename); // gives old file size
我究竟做错了什么?
系统是:
在基于Linux的系统上,提取的数据filesize()是“ statcached”。
filesize()
尝试clearstatcache();在文件大小调用之前调用。
clearstatcache();