在 PHP 中使用 sleep() 函数

Subodh Poudel 2023年1月30日
  1. PHP 中的 sleep() 函数
  2. 在 PHP 中使用 sleep() 函数
在 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 Poudel
Subodh Poudel avatar Subodh Poudel avatar

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

相关文章 - PHP Function