2010-10-26 75 views
0

嗨,我是PHP新手,希望有人能幫助我。如何讓我的shell_exec輸出成爲頁面?

有時,執行的shell腳本的輸出可能長達數百行,行被分隔爲格式化html輸出的<BR>(在shell腳本中替換爲\ n)。

所以我需要知道如何使輸出分頁,我看了一些其他類似的解決方案,但我不能讓他們工作,因爲他們做了不同的事情。

$url = $_POST["website"]; 
$safeurl = escapeshellarg($url); 
#passthru("./check -n ".$safeurl); 
$stuff=shell_exec("./webcheck -n ".$safeurl); 

$webFile = ($url.'.txt'); 
$write = $stuff; 
$fh = fopen($webFile, 'w') or die("can't open file"); 
fwrite($fh, $write); 
fclose($fh); 

$fh = fopen($webFile, "r") or die("can't open file"); 
$frstuff=fread($fh, filesize($webFile)); 
fclose($fh); 
echo $frstuff; 
+0

您是否需要該文本文件,或者您只是將其用作臨時存儲? – pferate 2010-10-26 23:16:56

+0

它是臨時存儲 – Kyoku 2010-10-26 23:29:36

回答

0

它不是最好的解決方案,但最簡單的就是使用javascript來完成分頁。

嘗試:http://plugins.jquery.com/project/pagination

否則你的插件通用數據庫分頁腳本並更改數據庫適配器指向一個文件適配器,其中的行數變爲行數。

編輯:提供更好的鏈路

+0

這是垃圾郵件它有鏈接欺騙你點擊廣告 – Kyoku 2010-10-27 00:04:48

+0

爲什麼不只是去源? http://plugins.jquery.com/project/pagination – pferate 2010-10-27 00:22:43

+0

更新了一個更好的鏈接 – 2010-10-27 00:23:28

1

如果您嘗試使用exec一個額外的參數,而不是shell_exec,就可以得到輸出線作爲一個數組,而不是一個長的字符串。

$output = array(); 
exec("./webcheck -n $safeurl", $output); 

// Inspect the contents of $output 
var_dump($output); 

然後,您可以根據需要遍歷該數組($output)。

相關問題