2009-07-04 27 views
4

如果我正在生成一個數據流發送到瀏覽器,並且用戶關閉瀏覽器,我可以告訴PHP內我不需要麻煩生成或發送其餘的流?我想插入一些進入這個循環:PHP可以告訴瀏覽器何時消失?

while (!feof($pipes[1])) { 
    echo fgets($pipes[1]); 
} 

我的後備計劃是讓瀏覽器使用JavaScript onunload的打另一個PHP頁面殺死正在生成數據的過程,但它是,如果清潔PHP可以告訴我何時迴應無處不在。

回答

1

還有一個函數register_shutdown_function(),假設在執行暫停時執行該函數。我從來沒有真正使用它,所以我不會擔保它的工作效果,但我想我會提到它的完整性。

+0

關閉,但在這種情況下,他只是想停止處理用戶中止數據。 – Ballsacian1 2009-07-04 19:23:07

1

我相信,腳本會在正常加載時自動中止(No ajax)。但是,如果你想通過使用xmlhttprequest通過PHP實現某種長輪詢,我認爲你將不得不用某種JavaScript來做,因爲那時PHP無法檢測到它。還想知道確切的情況。

0

這些答案指出我正在尋找什麼。潛在的過程需要特別注意殺死它。我需要跳出循環。再次感謝Stack Overflow。

while (!feof($pipes[1]) && !connection_aborted()) 
{ 
    echo fgets($pipes[1]); 
} 

if (connection_aborted()) 
{ 
    exec('kill -4 '.$mypid); 
} 
相關問題