程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP register_shutdown_function()函數的使用示例,shutdown函數

PHP register_shutdown_function()函數的使用示例,shutdown函數

編輯:關於PHP編程

PHP register_shutdown_function()函數的使用示例,shutdown函數


通過 register_shutdown_function 方法,可以讓我們設置一個當執行關閉時可以被調用的另一個函數。

也就是說,當我們的腳本執行完成或者意外死掉導致 php 執行即將關閉時,我們的這個函數會被調用。

【使用場景】

① 頁面被(用戶)強制停止

② 程序代碼意外終止或超時

③ php4 中沒有析構函數,可以使用該函數模擬析構函數

shutdown.php
復制代碼 代碼如下:
<?php
header("content-type:text/html;charset=utf-8");
class Shutdown{
    public function endScript(){
        if(error_get_last()){
            echo '<pre>';
            print_r(error_get_last());
            echo '</pre>';
        }
        file_put_contents('D:\practise\php\Error\error.txt', 'this is a test');
        die('腳本結束');
    }
}

register_shutdown_function(array(new Shutdown(), 'endScript'));

//錯誤測試
echo md6();

執行,輸出:

復制代碼 代碼如下:
( ! ) Fatal error: Call to undefined function md6() in D:\practise\php\Error\shutdown.php on line 18

 Array
(
    [type] => 1
    [message] => Call to undefined function md6()
    [file] => D:\practise\php\Error\shutdown.php
    [line] => 18
)
腳本結束

復制代碼 代碼如下:
D:\practise\php\Error\error.txt:
this is a test

注意:register_shutdown_function 方法是從內存中調用的,因此在使用 file_put_contents 方法時,第一個參數一定要使用絕對路徑。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved