我有一个.php脚本,用于创建我的产品列表。 我在共享主机上,所以我不能做很多查询,否则我会得到一个空白页面。
这就是我现在使用我的脚本的方式:
script.php?start=0&end=500&indexOfFile=0 ->> make a product0.txt file with first 500 products
script.php?start=501&end=1000&indexOfFile=1 ->> product1.txt file with another 500 products
script.php?start=1001&end=1500&indexOfFile=2 ->> product2.txt file with last 500 products
如何修改脚本以便自动生成所有这些文件,以便每次手动更改链接时都不需要更改?
我想点击一个按钮来执行此操作:
制作带有前500种产品的product0.txt
文件
等待5秒
与另外500个产品一起制作product1.txt
文件
等待5秒
制作包含最后500种产品的product2.txt
文件
答案 0 :(得分:55)
使用:
sleep(NUMBER_OF_SECONDS);
答案 1 :(得分:22)
在开始操作之前,请使用
sleep(5);
答案 2 :(得分:7)
或:
usleep(NUMBER_OF_MICRO_SECONDS);
答案 3 :(得分:0)
我在共享主机上,所以我不能做很多查询,否则我会得到一个空白页。
听起来非常奇怪。我有最便宜的PHP托管包,我可以找到我的上一个项目 - 它的行为不像这样。我不会支付一项服务。实际上,我甚至不知道如何配置服务器来复制这种行为。
无论它为什么会这样,在脚本中间添加睡眠无法解决问题。
由于您可能控制了产品目录,因此新产品应该相对不频繁(或者您是否尝试获取库存报告?)。如果您控制何时更改数据,为什么要自动运行脚本?或者你的意思是你已经拥有这些URL,并且当你一次运行一个URL时就会得到预期的文件?
答案 4 :(得分:0)
在2018年1月,唯一的解决方案对我有用:
<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i<10; $i++){
echo "<br> Line to show.";
echo str_pad('',4096)."\n";
ob_flush();
flush();
sleep(2);
}
echo "Done.";
ob_end_flush();
&GT;
答案 5 :(得分:0)
示例:Using sleep to add delay or increase execution time
让我们在延迟15秒后打印时间。
<?php
echo date('H:i:s');
sleep(15);
flush();
echo "<br>";
echo date('H:i:s');
?>
输出
11:36:19
11:36:34
答案 6 :(得分:0)
我用这个
$i = 1;
$last_time = $_SERVER['REQUEST_TIME'];
while($i > 0){
$total = $_SERVER['REQUEST_TIME'] - $last_time;
if($total >= 2){
// Code Here
$i = -1;
}
}
您可以使用
function WaitForSec($sec){
$i = 1;
$last_time = $_SERVER['REQUEST_TIME'];
while($i > 0){
$total = $_SERVER['REQUEST_TIME'] - $last_time;
if($total >= 2){
return 1;
$i = -1;
}
}
}
并运行代码=>
WaitForSec(your_sec);
示例:
WaitForSec(5);
OR 您可以使用睡眠
示例:
sleep(5);
答案 7 :(得分:-5)
<?php
foreach($i = 0; i < 500; $i++){
your_code;
delay(3); // 3 seconds
}
?>