【发布时间】:2017-06-20 08:23:44
【问题描述】:
我的 index.php 文件中有
<?php
ob_start();
echo '<html>
<head>
<style>
body {background-color: black; color: white}
</style>
</head>
<body>
<h2 id="greeting">Wait for page load</h2>
</body>
</html>';
ob_flush();
flush();
sleep(100);
echo '<script>document.getElementByID("greeting").innerHTML = "Page loaded!";</script>';
ob_flush();
flush();
?>
我认为它会将 HTML 内容发送到客户端,他们会看到“等待页面加载”文本,因为它已被刷新,但在我的网站上,网页只是一个空白屏幕,直到 PHP 代码完成执行(100 秒后)然后页面上的所有内容立即显示。
我已经尝试添加
echo str_repeat("<!--AAAAAAAAAAAA-->", 100);
在每次回显之后也要确保它开始向浏览器发送数据块,但这也不起作用。
有没有办法让我在 php 代码完成执行之前显示 php 文件中的 HTML 内容?
谢谢!
编辑:每个人都在告诉我使用 ob_start(); ob_flush();和冲洗();但是我已经在上面的代码中使用过了?
【问题讨论】:
-
不过有一个小问题,您要在 html 标签之外添加脚本...
-
sleep(100);因此它会在 100 秒后显示