我正在运行一个访问一些 MySQL 数据库的 PHP 脚本,我需要等待几秒钟,直到上一个脚本将所有信息输入数据库。等待时间不应该很长,但以防万一服务器在休息日很慢,我使用 sleep(10) 等待 10 秒,然后再执行脚本。我想在等待 10 秒时显示“请稍候”消息,但不幸的是,该消息仅在 10 秒完成后才会显示。这就是我要这样做的方式:
ob_start();
echo "Please wait while your invoice is being created... </br>";
ob_flush();
sleep(10);
ob_end_clean();
echo "Success...";
根据网上的一些研究,我的印象是 ob_flush() 会在 10 秒之前输出文本,然后 ob_end_clean() 会擦除以前打印的文本,但我得到的是两个文本都是在 10 秒后显示并且第一个文本没有被删除。你们知道我在这里做错了什么吗?