設定客戶端斷開連線時是否中斷指令碼的執行

ignore_user_abort

(PHP 4, PHP 5, PHP 7, PHP 8)

ignore_user_abort設定客戶端斷開連線時是否中斷指令碼的執行

說明

ignore_user_abort(bool $value = ?): int

設定客戶端斷開連線時是否中斷指令碼的執行

PHP 以命令列指令碼執行時,當指令碼終端結束,指令碼不會被立即中止,除非設定 valuetrue,否則指令碼輸出任意字元時會被中止。

參數

value

如果設定了該值,函式會把 ignore_user_abort ini 的值設定為 value。 如果未設定該值,函式不會改變設定,僅會返回之前的設定。

返回值

以整型返回之前的設定

範例

示例 #1 ignore_user_abort()例子

<?php
// Ignore user aborts and allow the script
// to run forever
ignore_user_abort(true);
set_time_limit(0);

echo 
'Testing connection handling in PHP';

// Run a pointless loop that sometime 
// hopefully will make us click away from 
// page or click the "Stop" button.
while(1)
{
    
// Did the connection fail?
    
if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }

    
// Sleep for 10 seconds
    
sleep(10);
}

// If this is reached, then the 'break' 
// was triggered from inside the while loop

// So here we can log, or perform any other tasks
// we need without actually being dependent on the 
// browser.
?>

註釋

在PHP嘗試發送資訊到客戶端之前,不會檢測到使用者是否已中斷連線。 僅使用 echo 語句不能確保資訊已發送,參見 flush() 函式。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *