亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP中使用sleep函數實現定時任務實例分享

2024-05-04 23:25:13
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP中使用sleep函數實現定時任務實例分享,本文給出了多個使用sleep的例子,本文還可以作為學習sleep函數的教程,需要的朋友可以參考下
 
 

在某些程序中,有一些特殊的功能需要用到定時執行,如果熟悉Linux的朋友肯定會說這不是容易嗎,直接來個計劃任務crontab不久實現了嗎?這的確是可以實現,但必須是提前知道具體的執行時間,然后才能寫到計劃任務里去。比如凌晨兩點,上午七點,或者每天上午六點三十分等等。

然而有時候,這個時間我們無法預知,而執行時間是程序動態生成的。然后在動態生成的時間后執行某些程序片段,這里就不能用Linux的crontab計劃任務了,因為每次執行的時間都是動態生成,而計劃任務需要知道一個定死了的時間。既然無法使用計劃任務,那么就只能從程序本身尋找實現方法。

在PHP中,有一個sleep函數,大概意思是程序執行遇到sleep函數時暫停N秒后繼續往下執行。如sleep(10)意思就是程序自上往下執行,遇到sleep(10)語句后暫停十秒,然后繼續往下執行。函數括號內的參數是一個數值,代表暫停時間值,單位秒。請看下面一段代碼

復制代碼代碼如下:

<?php
/**
 * sleep函數的用法
 * 瓊臺博客
 */
// 輸出當前程序時間戳
echo time();  // out:1338088780
echo '<br />';
 
// 暫停十秒
sleep(10);
 
// 輸出時間戳
echo time(); // out:1338088790

以上程序執行結果是
復制代碼代碼如下:

1338088780
1338088790

我們來解析下執行過程,第一步是打印當前時間戳1338088780,然后暫停十秒,再打印時間戳。由于程序是等待了十秒然后再次打印時間戳,那么就是最后一次的時間戳肯定要比第一次打印的時間戳多十秒鐘,結果最后一次的時間戳是1338088790。

 

以上例子,我們只用了一次sleep函數,頁面中可以無限制使用sleep()函數。請看以下代碼:

復制代碼代碼如下:

<?php
/**
 * sleep函數的用法
 * 瓊臺博客
 */
// 輸出第一次時間戳
echo time();      // out: 1338088780
echo '<br />';
 
// 暫停十秒
sleep(10);
 
// 輸出第二次時間戳
echo time();     // out: 1338088790
echo '<br />';
 
// 暫停二十秒鐘
sleep(20);
 
// 輸出第三次時間戳
echo time();     // out: 1338088810

以上程序執行結果是
復制代碼代碼如下:
1338088780
1338088790
1338088810

以上代碼執行過程:
第一,打印第一次時間戳1338088780
第二,暫停十秒
第三,打印第二次時間戳 1338088790,是第一次時間戳加上十秒后的總和
第四,暫停二十秒
第五,打印第三次時間戳 1338088810,是第二次時間戳1338088790加上二十秒后的總和。

 

頁面中出現兩次sleep,第一次是十秒,第二次二十秒。由此得出以上實例總共執行三十秒。頁面中多次出現sleep()函數時為累加而不是覆蓋前面的代碼。

那如何結合sleep定時執行動態生成時間的代碼呢?請看以下代碼:

復制代碼代碼如下:

<?php
/**
 * sleep函數定時執行動態生成時間段的代碼
 * 瓊臺博客
 */
// 目前時間
echo date('Y-m-d H:i:s'); // out:2012-05-27 14:58:00
echo '<br />';
 
// 動態生成時間 范圍在今天下午六點到晚上零點前的任意時間
$datetime = date('Y-m-d').' '.rand('18,23').':'.rand('0,59').':'.rand('0,59');  // 2012-05-27 19:20:00
 
// 算得時間戳
$a = strtotime($datetime);
 
// 算得時間差
$reduce = $a-time();
 
// sleep等待
sleep($reduce);
 
// 執行到時間后執行的代碼塊
echo date('Y-m-d H:i:s');  // out:2012-05-27 19:20:00

以上代碼輸出:
復制代碼代碼如下:
2012-05-27 14:58:00
2012-05-27 19:20:00

解析:開始打印當前時間,然后隨機算出程序往后執行時間 2012-05-27 19:20:00,由于sleep接受參數是一個以秒為單位的一個數值,所以先把生成的時間轉換為時間戳然后再用時間戳減去當前時間戳得出一個時間差,再sleep即可達到程序在隨機生成時間執行某些語句達到定時執行效果。這里注意必須算的一個以秒為單位的時間差,如果不能算出秒差就沒法使用sleep函數功能。

 

最后,可能某些童鞋做實例的時候會說怎么我的程序執行出錯,提示超時。出現這個問題不要慌,這是PHP默認頁面執行時間導致的,在PHP中默認執行頁面時間是三十秒鐘,這對于一般程序夠用了。但如果你要做類似定時執行功能就必須再頭部聲明設置下執行時間set_time_limit(0)。0是代表不限時,單位是秒。最后整體貼出代碼:

復制代碼代碼如下:

<?php
/**
 * sleep函數定時執行動態生成時間段的代碼
 * 瓊臺博客
 */
// 設置頁面執行時間,否則會有超時錯誤提示
set_time_limit(0);
 
// 目前時間
echo date('Y-m-d H:i:s'); // out:2012-05-27 14:58:00
 
// 動態生成時間 范圍在今天下午六點到晚上零點前的任意時間
$datetime = date('Y-m-d').' '.rand('18,23').':'.rand('0,59').':'.rand('0,59');  // 2012-05-27 19:20:00
 
// 算得時間戳
$a = strtotime($datetime);
 
// 算得時間差
$reduce = $a-time();
 
// sleep等待
sleep($reduce);
 
// 執行到時間后執行的代碼塊
echo date('Y-m-d H:i:s');  // out:2012-05-27 19:20:00

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文字幕视频在线| 国产精品欧美日韩| 欧美黑人xxxⅹ高潮交| 亚洲色图35p| 午夜精品久久久久久99热软件| 欧美激情在线播放| 欧美国产精品人人做人人爱| 日韩欧美高清在线视频| 69国产精品成人在线播放| 欧美xxxx做受欧美| 国语自产精品视频在线看一大j8| 国产精品都在这里| 成人欧美在线观看| 色偷偷噜噜噜亚洲男人的天堂| 成人免费高清完整版在线观看| 日韩精品免费电影| 日韩精品视频在线免费观看| 国产精品私拍pans大尺度在线| 国产精品久久久久久av下载红粉| 中文字幕免费精品一区| 精品日韩美女的视频高清| 国产亚洲日本欧美韩国| 欧美一级电影免费在线观看| 欧美性猛交xxx| 久久久av亚洲男天堂| 国产极品jizzhd欧美| 91在线|亚洲| 中文字幕av一区| 欧美性xxxxhd| 亚洲无限乱码一二三四麻| 欧美日韩国产中字| 欧美一级片久久久久久久| 亚洲欧美日韩精品久久亚洲区| 91亚洲精品在线观看| 久久青草福利网站| 日韩欧美成人区| 91美女片黄在线观| 91日本在线视频| 一本色道久久综合亚洲精品小说| 欧美专区国产专区| 色777狠狠综合秋免鲁丝| 国产午夜一区二区| 亚洲欧美日韩精品久久奇米色影视| 亚洲乱码国产乱码精品精天堂| 国产精品视频专区| 国产啪精品视频网站| 欧美黑人巨大精品一区二区| 欧美极品少妇xxxxⅹ喷水| 久热精品视频在线观看一区| 亚州欧美日韩中文视频| 日本老师69xxx| 欧美极品xxxx| 日韩在线视频导航| 国产视频福利一区| 国产欧美婷婷中文| 国内精品在线一区| 精品日本美女福利在线观看| 欧美大片在线看免费观看| 韩国欧美亚洲国产| 日韩在线精品一区| 91精品国产91久久久久久久久| 亚洲精品一区二区三区不| 欧美日韩在线视频一区| 亚洲成人激情在线观看| 51视频国产精品一区二区| 在线观看日韩av| 亚洲已满18点击进入在线看片| 日韩视频在线免费观看| 国产不卡av在线免费观看| 69视频在线播放| 国产精品视频大全| 亚洲在线免费看| 欧美日韩国产综合视频在线观看中文| 国产精品久久久久久久久久免费| 日日摸夜夜添一区| 亚洲高清久久网| 日韩电影第一页| 97香蕉久久夜色精品国产| 久久在线免费观看视频| 动漫精品一区二区| 高清欧美性猛交xxxx| www.日韩av.com| 欧美日韩激情美女| 国产精品第三页| 国产精品久久一区| 久久久最新网址| xx视频.9999.com| 欧美老肥婆性猛交视频| 久久亚洲精品视频| 日本一欧美一欧美一亚洲视频| 亚洲乱亚洲乱妇无码| 成人精品一区二区三区电影免费| 亚洲精品美女在线观看播放| 中文字幕自拍vr一区二区三区| 中文字幕亚洲欧美| 日韩欧美国产网站| 亚洲国产欧美久久| 色婷婷久久av| 久久夜色精品国产亚洲aⅴ| 日韩中文字幕在线| 最近中文字幕2019免费| 视频一区视频二区国产精品| 欧美一级淫片videoshd| 日韩成人在线电影网| 欧美电影免费观看高清| 亚洲аv电影天堂网| 欧美午夜丰满在线18影院| 538国产精品视频一区二区| 日韩在线视频网| 国产精品免费一区| 欧美视频在线免费| 最近2019免费中文字幕视频三| 亚洲自拍在线观看| 国产精品网站大全| 久久偷看各类女兵18女厕嘘嘘| 亚洲午夜国产成人av电影男同| 18一19gay欧美视频网站| 亚洲а∨天堂久久精品喷水| 欧美激情一区二区三区成人| 国产精品久久久久77777| 久久亚洲精品小早川怜子66| 久久综合伊人77777尤物| 国产一区二区三区免费视频| 久久久久久久国产| 欧美激情精品久久久久久大尺度| 97视频com| 美女视频黄免费的亚洲男人天堂| 久久久久久久久久婷婷| 国产一区二区三区精品久久久| 日韩av网址在线观看| 国产美女久久精品香蕉69| www国产91| 国产欧美日韩专区发布| 成人久久一区二区三区| 亚洲免费一在线| 亚洲欧洲日韩国产| 日韩在线观看视频免费| 国产91在线高潮白浆在线观看| 日韩欧美视频一区二区三区| 一本色道久久综合狠狠躁篇怎么玩| 日韩电影大全免费观看2023年上| 久久99久久99精品免观看粉嫩| 亚洲深夜福利网站| 在线观看精品自拍私拍| 国产亚洲欧美一区| 欧美精品国产精品日韩精品| 亚洲免费中文字幕| 久久精品国产一区| 欧美在线激情网| 国产精品网站视频| 国产欧美一区二区| 国产午夜精品美女视频明星a级| 色综合久久久久久中文网| 亚洲综合精品伊人久久| 海角国产乱辈乱精品视频| 欧美电影免费观看大全| 久久久亚洲福利精品午夜| 国产精品18久久久久久首页狼| 久久久精品在线| 欧美激情亚洲自拍| 中文字幕精品久久久久| 欧洲成人免费视频| 日本午夜精品理论片a级appf发布| 日本免费久久高清视频|