2013-02-20 62 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