我必须比较2个xml文件并使用php和Linux的diff命令生成补丁.这是我的代码:
<?php
// script file location: /var/local/out/upload.php
// ...
// $templateName file location: /var/local/out/upload/example_word_template/word/document.xml
// $filename file location: /var/local/out/upload/example_word/word/document.xml
// $templateName value: upload/example_word_template/word/document.xml
// $filename value: upload/example_word/word/document.xml
$command = "diff /var/local/out/$templateName /var/local/out/$filename > /var/local/out/patch.patch";
exec($command);
echo($command);
?>
Run Code Online (Sandbox Code Playgroud)
浏览器输出:
diff /var/local/out/upload/example_word_template/word/document.xml /var/local/out/upload/example_word/word/document.xml> /var/local/out/patch.patch
如果我复制并粘贴输出并直接在Linux中执行它,它运行得很好.但脚本本身不会生成补丁文件.可能有什么不对?
手册中的示例 xdiff_file_diff
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';
xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
Run Code Online (Sandbox Code Playgroud)
请注意,diff仅在语法层面上,而在语义上没有区别
<element foo="foo" bar="bar"/>
Run Code Online (Sandbox Code Playgroud)
和
<element
foo="foo"
bar="bar"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2522 次 |
| 最近记录: |