Php 文件的filesize()不';不显示实际的文件大小

Php 文件的filesize()不';不显示实际的文件大小,php,Php,我有以下代码: <?php for ($i = 0; $i < 6; $i++) { $file = fopen( 'dummy.txt', 'a' ); echo filesize('dummy.txt') . "<br>"; fwrite($file, "b\n"); echo filesize('dummy.txt') . "<br>"; fclose($file);

我有以下代码:

<?php
    for ($i = 0; $i < 6; $i++) {
        $file = fopen( 'dummy.txt', 'a' );
        echo filesize('dummy.txt') . "<br>";
        fwrite($file, "b\n");
        echo filesize('dummy.txt') . "<br>";
        fclose($file);
    }
?>

然而,当我打开我的
dummy.txt
文件时,它表明我已经成功地写出了我想要的字母。当我每次迭代都清楚地写入文本文件,然后关闭该文件时,我不明白
filesize()
如何显示大小为
0
的文件。有人能告诉我吗?

您正在查看一个打开的文件,您需要关闭该文件并通过在调用filesize()之前插入对clearstatcache()的调用来清除缓存

文件大小的手动页面:

代码应为:

<?php
    for ($i = 0; $i < 6; $i++) {
        $file = fopen( 'dummy.txt', 'a' );
        fwrite($file, "b\n");
        fclose($file);
        clearstatcache();
        echo filesize('dummy.txt') . "<br>";
    }
?>

您正在查看一个打开的文件,您需要关闭该文件并在调用filesize()之前通过插入对clearstatcache()的调用来清除缓存

文件大小的手动页面:

代码应为:

<?php
    for ($i = 0; $i < 6; $i++) {
        $file = fopen( 'dummy.txt', 'a' );
        fwrite($file, "b\n");
        fclose($file);
        clearstatcache();
        echo filesize('dummy.txt') . "<br>";
    }
?>


不过,我已经关闭了该文件。我想我需要的是
clearstatcache()
。不过我已经关闭了文件。我想我需要的是
clearstatcache()