2017-10-10 98 views
0

我想在現場的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,我能夠檢索輸出,但它不是實時顯示。 有人有想法嗎?

+0

如果它工作後加載,這是什麼問題?整個頁面?你是否嘗試將一些樣式應用於div(假設內容是嵌套的),如寬度,溢出等等,以顯示顯示結果的顯示方式? – rmjoia

回答

0

將腳本加載到iframe中應該可行。

<iframe src="/script.php"></iframe> 

或可替換地,如果你需要一個特定的動作

<iframe id='myIframe'></iframe> 

<script type="text/javascript"> 
document.getElementById('myIframe').src = '/script.php'; 
<script> 
+0

他可能在使用Ajax時遇到的問題是它在顯示輸出之前等待腳本完成,因此刷新輸出緩衝區將不起作用。 使用iframe應該使它像通常加載頁面一樣對待它,因此刷新的輸出應該在腳本運行時顯示。在iframe中將保持iframe中的內容,並且不會影響周圍的頁面,因此它將修復「整頁」問題。 –

+0

謝謝你回答大廳。這是我所尋找的。它正在使用一個簡單的index.php頁面。我現在會嘗試將其包含在我的Laravel項目中。 – edward

+0

@edward如果這個答案適合你,請評價並接受它 –