在 PHP 中使用 sleep() 函式
本文將介紹 PHP 中 sleep 功能的實際實現。
PHP 中的 sleep()
函式
PHP 的 sleep()
函式用於將執行延遲指定時間。它接受一個將時間作為整數而不是負值的引數。
該函式在成功時返回 0,在失敗時返回 false 或錯誤。讓我們看看下面示例中的工作程式碼。
<?php
echo date("h:i:s") . "<br>";
sleep(5);
echo date("h:i:s") . "<br>";
輸出:
11:04:58
11:05:03
在這裡,列印的第一個時間戳是 11:04:58
。然後,sleep()
函式將程式暫停五秒鐘。
因此,列印的第二個時間戳是 11:05:03
,與前一個時間戳相差五秒。
在 PHP 中使用 sleep()
函式
我們可以在從 API 請求資料時使用 sleep()
函式。當我們不斷地請求大量資料時,伺服器可能會負載過重。
在這種情況下,我們可以使用 sleep()
函式將連續請求暫停幾秒鐘。我們可以利用 file_get_contents()
函式從 API 獲取請求。
該函式接受引數 $filename
、檔案或 URL。它讀取檔案並將其作為字串返回。
例如,建立一個變數 $url
並將 URL https://jsonplaceholder.typicode.com/albums/
儲存在其中。接下來,建立一個 for
迴圈,將 $i
變數從 1
迭代到 4
。
接下來,將 $url
與迭代器 $i
連線起來,以便在第一次迭代中 URL 變為 https://jsonplaceholder.typicode.com/albums/1
。在 $next_url
變數中分配連線操作。
URL 將其字尾增加 1 以在連續迭代中獲取連續的 API 內容。接下來,建立一個 $file
變數並使用 file_get_contents()
函式將其分配,並以 $next_url
作為引數。
接下來,列印 API 響應並使用 sleep(1)
函式在連續請求之間停止資料獲取一秒鐘。
這樣,我們使用 sleep()
函式在每個請求之間停止對 API 的請求一秒鐘。在這裡,為了演示,我們只迴圈了四次。
當我們獲得大量資料時,使用 sleep()
函式會更實用。
<?php
$url = "https://jsonplaceholder.typicode.com/albums/";
for( $i = 1; $i <5; $i++){
$next_url = $url.$i;
$file=file_get_contents($next_url);
echo "<pre>";
print_r($file);
echo "<pre/>";
sleep(1);
}
?>
輸出:
{
"userId": 1,
"id": 1,
"title": "quidem molestiae enim"
}
{
"userId": 1,
"id": 2,
"title": "sunt qui excepturi placeat culpa"
}
{
"userId": 1,
"id": 3,
"title": "omnis laborum odio"
}
{
"userId": 1,
"id": 4,
"title": "non esse culpa molestiae omnis sed optio"
}
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn