PHP do-while循环文件大小检查和停止

时间:2017-05-04 17:05:52

标签: php

所以问题是我正在循环检查文件大小,例如文件A.txt是10个字节,而其他php脚本A.txt更改为20bytes所以当A.txt文件被更改时我希望迭代停止。

<?php

$i = 1;
$a = filesize("A.txt");
do {
    $c = filesize("A.txt");
    if ($a >= $c) {

    } else {
        echo file_get_contents('chat.log');
        $i++;
    }
} while ($i <= 2);

?>

我的错误是什么?

1 个答案:

答案 0 :(得分:0)

您似乎想要为聊天应用程序实现长轮询

这种方法可能会导致您丢失一些正在传递的聊天消息。这不是很容易扩展。

我建议您通过GET参数接收以前已知的文件大小,并检查文件大小是否大于。

然后我建议你使用fopen打开文件并从前一个指针(GET参数)读到文件末尾,而不是每次都读取整个文件。

你可能还希望在每个文件大小之前清除一个缓存,并添加一个usleep(100);在while循环中。