3 回答
TA贡献1780条经验 获得超3个赞
首先,用于以读+写模式打开文件,这意味着它与您的问题无关。然后,正如在其他 anwers 中已经提到的,该函数被缓存,您需要使用才能看到更改。a+filesize()clearstatcache()
作为 + + 的替代方法,您可以使用组合了 3 个函数的函数。fopen()fwrite()fclose()file_put_contents()
例:
$file = __DIR__.'/test.txt';
// First we call the function without second parameter
file_put_contents($file, 'This is my first message'.PHP_EOL);
// Following calls use the second parameter with FILE_APPEND`
file_put_contents($file, 'This is my second message'.PHP_EOL, FILE_APPEND);
echo file_get_contents($file);
echo PHP_EOL.'FileSize after first write: ' . filesize($file) . ' bytes' . PHP_EOL;
clearstatcache();
echo '-----------------------'.PHP_EOL;
file_put_contents($file, 'This is my third message'.PHP_EOL, FILE_APPEND);
echo file_get_contents($file);
echo PHP_EOL.'FileSize after append: ' . filesize($file) . ' bytes' . PHP_EOL;
输出:
This is my first message
This is my second message
FileSize after first write: 51 bytes
-----------------------
This is my first message
This is my second message
This is my third message
FileSize after append: 76 bytes
`
TA贡献1877条经验 获得超6个赞
每当您写入或读取文件时,PHP 都会缓存更改。所以你必须清除缓存,你可以使用这个函数来清除PHP缓存的关于文件的信息。clearstatcache()
在这里阅读更多内容,请 https://www.php.net/manual/en/function.clearstatcache
- 3 回答
- 0 关注
- 119 浏览
添加回答
举报