【发布时间】:2018-12-10 10:16:21
【问题描述】:
PHP fstat() 函数是如何工作的?
函数是否在每次调用时从磁盘读取文件大小?
或者该函数是否根据执行的所有写入操作计算大小?
例子:
$filename='abc.txt';
$fp=fopen($filename, 'a');
$fstat=fstat($fp);
echo 'Size: '.$fstat['size'].'<br><br>';
echo 'Writing...<br><br>';
fwrite($fp, 'xx');
fwrite($fp, 'yyyy');
// ...
// Some number of fwrite() opertions
// ...
fwrite($fp, 'zzzzzz');
$fstat=fstat($fp);
echo 'Size after writing: '.$fstat['size'].'<br>';
// Does the size is read from disk or is calculated based on earlier writing operations?
fclose($fp);
【问题讨论】:
-
每次
fstat调用都会从磁盘读取。 -
您认为某些事情没有按预期工作吗?然后你应该改写你的问题。此外,请记住,结果可能会得到cached
-
Here is the source code in c 寻找
fstat
标签: php performance filesize fstat