PHP睡眠,但在睡眠前执行
所以我需要一些帮助,有没有更好的方法让php在执行下一行代码之前等待 我试过:PHP睡眠,但在睡眠前执行,php,sleep,Php,Sleep,所以我需要一些帮助,有没有更好的方法让php在执行下一行代码之前等待 我试过: $response = $_POST[response]; echo "</br>".$response; if (strpos($response,'no') !== false) { sleep(2); echo "</br>"; echo 'Why not?'; } $response=$\u POST[response]; 回显“”$响应; if(strpos
$response = $_POST[response];
echo "</br>".$response;
if (strpos($response,'no') !== false) {
sleep(2);
echo "</br>";
echo 'Why not?';
}
$response=$\u POST[response];
回显“”$响应;
if(strpos($response,'no')!==false){
睡眠(2);
回声“”;
回应“为什么不?”;
}
但此方法不显示
echo "</br>".$response;
echo“”$response;
在它睡觉之前。
它休眠2秒钟,然后显示响应
我如何让它回显$response,然后等待2秒钟,然后is才会说“为什么不”
提前感谢。您必须使用刷新缓冲区内容才能查看结果
@apache_setenv('no-gzip',1);
@ini_集('zlib.output_compression',0);
ob_start();
$response=$_POST[response];
回显“
.”$response;
ob_flush();
冲洗();
if(strpos($response,'no')!==false){
睡眠(2);
回声“
”;
回应“为什么不?”;
}
如中所述,我同时使用了ob\u flush()
和flush()
,但请看哪种方法有效。有时仅使用flush()
也可以,具体取决于服务器配置
注意gzip/deflate。不能收缩输出流,在中间输出缓冲区。您可以使用htaccess关闭它,也可以使用代码的前两行关闭它,您必须使用flush the buffer content来查看结果
@apache_setenv('no-gzip',1);
@ini_集('zlib.output_compression',0);
ob_start();
$response=$_POST[response];
回显“
.”$response;
ob_flush();
冲洗();
if(strpos($response,'no')!==false){
睡眠(2);
回声“
”;
回应“为什么不?”;
}
如中所述,我同时使用了ob\u flush()
和flush()
,但请看哪种方法有效。有时仅使用flush()
也可以,具体取决于服务器配置
注意gzip/deflate。不能收缩输出流,在中间输出缓冲区。您可以使用htaccess关闭它,也可以使用代码的前两行关闭它。看起来,在休眠调用之前,输出缓冲区没有被刷新。正如奔腾10所指出的那样,您确实可以手动控制它:看起来输出缓冲区在睡眠调用之前没有被刷新。正如奔腾10所指出的那样,您确实可以手动控制它:刷新缓冲区(更新):
引用:,刷新缓冲区(更新):
参考资料:,试试这个:试试这个:这会为我同时输出两个。这两个输出同时为我。
<?
$response = $_POST[response];
echo "</br>".$response;
ob_end_flush();
flush();
if (strpos($response,'no') !== false) {
sleep(2);
echo "</br>";
echo 'Why not?';
}
?>