一尘不染

PHP文件大小报告旧大小

php

以下代码是我编写的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

我究竟做错了什么?

系统是:

  • PHP 5.2.14
  • 阿帕奇2.2.16
  • Linux内核2.6.18

阅读 242

收藏
2020-05-29

共1个答案

一尘不染

在基于Linux的系统上,提取的数据filesize()是“ statcached”。

尝试clearstatcache();在文件大小调用之前调用。

2020-05-29