在网页上实时显示PHP输出
我想在现场的div中显示我的PHP脚本的输出。我使用Laravel 5.4 我的PHP代码:在网页上实时显示PHP输出
$cmd = 'ping -c 10 127.0.0.1';
while (@ ob_end_flush());
$proc = popen($cmd, 'r');
echo '<pre>';
while (!feof($proc))
{
echo fread($proc, 4096);
@ flush();
}
echo '</pre>';
return view('layouts/test');
当我加载页面,我的功能工作,它的实时显示,但它占据整个页面。 我试图使用Ajax,我能够检索输出,但它不是实时显示。 有人有想法吗?
将脚本加载到iframe中应该可行。
<iframe src="/script.php"></iframe>
或可替换地,如果你需要一个特定的动作
<iframe id='myIframe'></iframe>
<script type="text/javascript">
document.getElementById('myIframe').src = '/script.php';
<script>
他可能在使用Ajax时遇到的问题是它在显示输出之前等待脚本完成,因此刷新输出缓冲区将不起作用。 使用iframe应该使它像通常加载页面一样对待它,因此刷新的输出应该在脚本运行时显示。在iframe中将保持iframe中的内容,并且不会影响周围的页面,因此它将修复“整页”问题。 –
谢谢你回答大厅。这是我所寻找的。它正在使用一个简单的index.php页面。我现在会尝试将其包含在我的Laravel项目中。 – edward
@edward如果这个答案适合你,请评价并接受它 –
如果它工作后加载,这是什么问题?整个页面?你是否尝试将一些样式应用于div(假设内容是嵌套的),如宽度,溢出等等,以显示显示结果的显示方式? – rmjoia