php - PHP:可以附加到文件但不能正确回显文件内容
问题描述
我正在尝试创建一个本地 txt 文件,在其中写入一些文本,关闭它,读取并返回其内容,然后附加一些文本,最后,再次读取并回显内容。
<?php
$file = "test.txt";
$fileHandler = fopen($file, "w") or die("Could not write to file!");
fwrite($fileHandler, "This is my first message <br>");
fwrite($fileHandler, "This is my second message <br>");
fclose($fileHandler);
$fileHandler = fopen($file, "r") or die("Could not read file!");;
$contents = fread($fileHandler, filesize($file));
fclose($fileHandler);
echo $contents;
echo "<br>";
echo "FileSize after first write: " . filesize($file);
echo "<br>";
echo "<hr>";
$fileHandler = fopen($file, "a") or die("Could not append to file!");
fwrite($fileHandler, "This is my third message <br>");
fclose($fileHandler);
$fileHandler = fopen($file, "r") or die("Could not read file!");;
$contents = fread($fileHandler, filesize($file));
fclose($fileHandler);
echo $contents;
echo "<br>";
echo "FileSize after append: " . filesize($file);
echo "<br>";
一切正常,所有消息都写入文件,但问题出在回声上。我期待看到这样的东西:
This is my test message
This is my second test message
FileSize after first write: 63
-----------------------------------------------------------------
This is my test message
This is my second test message
This is my third test message
FileSize after append: 97
但我得到以下回声:
This is my test message
This is my second test message
FileSize after first write: 63
--------------------------------------------------------------------
This is my test message
This is my second test message
FileSize after append: 63
我无法弄清楚这里有什么问题......任何帮助将不胜感激!!!!
解决方案
在文档页面中filesize()
注意:此函数的结果被缓存。有关详细信息,请参阅 clearstatcache()。
所以你必须在写入新内容后清除缓存:
$fileHandler = fopen($file, "a") or die("Could not append to file!");
fwrite($fileHandler, "This is my third message <br>");
fclose($fileHandler);
clearstatcache();
推荐阅读
- ray - 我可以强制任务/演员在特定节点上运行吗?使用雷
- javascript - 为什么我们可以在动画手风琴中使用 height 属性而不是 max-height 属性?
- android - 如何从 FirebaseApp.initializeApp() 的“辅助”应用程序获取令牌
- r - 当全局模型有优化器时从 Dredge() 获取 R^2
- swift - 快速设置单元格委托会出错
- ksqldb - 运行某些查询时重新启动 KSQL-Server
- angular - 在更新和验证子组件后运行 ControlValueAccessor validate
- clickhouse - ClickHouse ,选择 top n 并按主键排序的问题
- c - 浅层和深层析构函数?
- android - 固定 TabLayout 中每页的选项卡数