2013-02-20 59 views
0

我想編寫一個Web界面,顯示兩個非常大的文件之間的差異。我通常使用winmerge,但這意味着我需要登錄到服務器複製文件,然後比較它們。我喜歡一個太多的步驟。我想寫一個基本上做同樣事情的Web界面。有沒有人知道一個很好的可靠的PHP庫在那裏做這樣的事情? 請記住,這些文件長度爲20k行,因此它需要可靠,而不需要超快速。突出顯示非常大的文件與php之間的差異

+5

和你嘗試過什麼? – 2013-02-20 04:05:24

+0

我現在正在做Amandan建議的事情。運行系統命令並以某種格式顯示結果。用戶似乎並不喜歡格式化,但我認爲必須有一個庫爲我做。與轉移到始終匹配的線條並排比較是最需要的功能,我不想重新發明輪子。 – Renzosilv 2013-02-21 02:13:21

回答

2

使用系統命令diff,然後解析結果。格式是規則的,很容易理解。

0

爲了增加Amadan的想法:

創建兩個file輸入字段的HTML表單,並使用以下命令:

echo exec('diff ' . $_FILES['file1']['tmp_name'] . ' ' . $_FILES['file2']['tmp_name']); 
+0

'exec'只返回最後一行,所以這不會很好。您可能需要反引號,'system'命令(在這種情況下不要使用'echo'),或者將第二個參數用於'exec'。另外,如果我習慣了WinMerge,那麼我會討厭在網頁上輸出簡單的'diff' - 從而「解析結果」。 – Amadan 2013-02-20 04:33:21

+0

我只是深入一點,我同意你的觀點。如果他不知道如何從PHP內部執行系統命令,這將會給他他所需要的。很明顯,輸出需要被解析並且爲網頁準備好。 – 2013-02-20 04:41:36