国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

PHP ignore_user_abort函數(shù)詳細(xì)介紹和使用實(shí)例

2024-09-04 11:43:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了PHP ignore_user_abort函數(shù)詳細(xì)介紹和使用實(shí)例,本文包含2位作者的文章,相信可以幫你快速的理解ignore_user_abort函數(shù),需要的朋友可以參考下

ignore_user_abort 設(shè)置與客戶(hù)機(jī)斷開(kāi)是否會(huì)終止腳本的執(zhí)行。

本函數(shù)返回 user-abort 設(shè)置的之前的值(一個(gè)布爾值)。

int ignore_user_abort ([ string $value ] )

參數(shù)setting描述:可選。如果設(shè)置為 true,則忽略與用戶(hù)的斷開(kāi),如果設(shè)置為 false,會(huì)導(dǎo)致腳本停止運(yùn)行。

如果未設(shè)置該參數(shù),會(huì)返回當(dāng)前的設(shè)置。

注釋?zhuān)篜HP 不會(huì)檢測(cè)到用戶(hù)是否已斷開(kāi)連接,直到嘗試向客戶(hù)機(jī)發(fā)送信息為止。簡(jiǎn)單地使用 echo 語(yǔ)句無(wú)法確保信息發(fā)送,參閱 flush() 函數(shù)。

例-1 一個(gè)的ignore_user_abort()的例子,配合set_time_limit()函數(shù) 和一個(gè)死循環(huán)就可以實(shí)現(xiàn)計(jì)劃任務(wù)功能。

代碼如下:

  1. <?php 
  2. ignore_user_abort(true); 
  3.  
  4. set_time_limit(0); 
  5. echo 'Testing connection handling in PHP'
  6. while (1) 
  7.     if (connection_status() != CONNECTION_NORMAL) { 
  8.  
  9.         break
  10.  
  11.     } 
  12.     // Sleep for 10 seconds 
  13.     sleep(10); 
  14. ?> 

PHP內(nèi)置函數(shù)研究系列第二期,采用PHP函數(shù)ignore_user_abort實(shí)現(xiàn)計(jì)劃任務(wù)與持續(xù)進(jìn)程實(shí)例,并通過(guò)一個(gè)可檢測(cè)效果的實(shí)例討論ignore_user_abort()函數(shù)的作用與用法。

ignore_user_abort() 可以實(shí)現(xiàn)當(dāng)客戶(hù)端關(guān)閉后仍然可以執(zhí)行PHP代碼,可保持PHP進(jìn)程一直在執(zhí)行,可實(shí)現(xiàn)所謂的計(jì)劃任務(wù)功能與持續(xù)進(jìn)程,只需要開(kāi)啟執(zhí)行腳本,除非 apache等服務(wù)器重啟或有腳本有輸出,該P(yáng)HP腳本將一直處于執(zhí)行的狀態(tài),初看很實(shí)用,不過(guò)代價(jià)是一個(gè)PHP執(zhí)行腳本的持續(xù)進(jìn)程,開(kāi)銷(xiāo)很大,但卻可以 實(shí)現(xiàn)很多意想不到的功 能。

其描述為設(shè)置與客戶(hù)機(jī)斷開(kāi)是否會(huì)終止腳本的執(zhí)行。

附:另一篇介紹

一,函數(shù)原型,代碼如下:

int ignore_user_abort ( [bool setting] )

二,版本兼容,代碼如下:

PHP 3 >= 3.0.7, PHP 4, PHP 5

三,函數(shù)基礎(chǔ)用法與實(shí)例

1,函數(shù)基礎(chǔ)用法

代碼如下:

  1. <?php 
  2. ignore_user_abort(); 
  3. ?> 

說(shuō)明:調(diào)用ignore_user_abort()函數(shù)聲明即使客戶(hù)機(jī)斷開(kāi)不終止腳本的執(zhí)行。

2,結(jié)合set_time_limit()函數(shù)實(shí)現(xiàn)一個(gè)循環(huán)腳本執(zhí)行任務(wù)

代碼如下:

  1. <?php 
  2. ignore_user_abort(); 
  3. set_time_limit(0); 
  4. $interval=60*15; 
  5. do
  6. //執(zhí)行的業(yè)務(wù) 
  7. }while(true); 
  8. ?> 

說(shuō)明:每隔15分鐘循環(huán)執(zhí)行

3,自定義實(shí)現(xiàn)文件輸出并跟蹤ignore_user_abort()函數(shù)的執(zhí)行結(jié)果

代碼如下:

  1. <?php 
  2. ignore_user_abort ( TRUE ); 
  3. set_time_limit ( 0 ); 
  4. $interval = 10; 
  5. $stop = 1; 
  6. do { 
  7.     if$stop == 10 ) break
  8.     file_put_contents('liuhui.php',' Current Time: '.time().' Stop: '.$stop); 
  9.     $stop++; 
  10.     sleep ( $interval ); 
  11. while ( true ); 
  12. ?> 

打開(kāi)liuhui.php文件,文件內(nèi)容如下:

Current Time: 1273735029 Stop: 9

其原理是即使客戶(hù)端終止腳本,仍然每隔10秒鐘執(zhí)行一次,并打印出當(dāng)前時(shí)間與終止點(diǎn),這樣就可以測(cè)試出ignore_user_abort()函數(shù)的具體效果。

通過(guò)實(shí)例發(fā)現(xiàn)ignore_user_abort()函數(shù)非常實(shí)用,實(shí)現(xiàn)計(jì)劃任務(wù),完成后續(xù)任務(wù),持續(xù)進(jìn)程等非常有效。更多說(shuō)明請(qǐng)參與PHP手冊(cè)。請(qǐng)關(guān)注下一期PHP內(nèi)置函數(shù)研究系列。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰来县| 陆河县| 长武县| 临高县| 富宁县| 民乐县| 民勤县| 巴塘县| 尤溪县| 香格里拉县| 普安县| 海兴县| 集安市| 乐山市| 三都| 阿拉善左旗| 兴文县| 江安县| 迁西县| 永靖县| 西安市| 江油市| 阳谷县| 长泰县| 台湾省| 靖西县| 虎林市| 堆龙德庆县| 康马县| 环江| 兴化市| 梁河县| 五指山市| 邻水| 花垣县| 凤冈县| 秦皇岛市| 措美县| 白城市| 四会市| 霍城县|