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