所以问题是我正在循环检查文件大小,例如文件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);
?>
我的错误是什么?
答案 0 :(得分:0)
您似乎想要为聊天应用程序实现长轮询。
这种方法可能会导致您丢失一些正在传递的聊天消息。这不是很容易扩展。
我建议您通过GET参数接收以前已知的文件大小,并检查文件大小是否大于。
然后我建议你使用fopen打开文件并从前一个指针(GET参数)读到文件末尾,而不是每次都读取整个文件。
你可能还希望在每个文件大小之前清除一个缓存,并添加一个usleep(100);在while循环中。