1
我试图暂停我的php代码,直到某个文件包含某个文本。当文件包含文本时继续PHP脚本
$exit = FALSE;
while (!$exit) {
usleep(250000);
$fname = "/var/www/file2";
$file = fopen($fname, 'r');
$theText = fread($file, filesize($fname));
fclose($file);
if (split("\n", $theText)[0] == "ready" || $dir==0) {
$exit = TRUE;
$file = fopen($fname, 'w');
fclose($file);
}
}
一旦这个文件有单词在第一行“准备好了”,我希望脚本继续(或如果$ dir为0)。但只有当脚本启动时文件已经包含这个单词才有效。如果文件在循环中写入该文件,它将不起作用。
它可能不是实际上重新加载文件,而是加载缓存的文件?我将如何解决这个问题?或者还有别的吗?
一些问题,如果您的条件 – Riskhan
那么你到底想做什么?如果文件为空,您正试图等待文件被写入?当你运行脚本时,文件将被读入当前状态,它不会等待一些将来的应用程序写入它? –
设置为“$ dir”的是什么? – Jompper