如何使用PHP(fwrite)将Word文档添加到另一个Word文档?
$filename = "./1.doc";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
$filename2 = "./2.doc";
$handle2 = fopen($filename2, "r");
$contents2 = fread($handle2, filesize($filename2));
$contents3 =$contents2.$contents;
$fp = fopen("./3.doc", 'w+');
fwrite($fp, $contents);
3.doc仅包含1.doc。
答案 0 :(得分:3)
首先,您实际只是fwriting()
$contents
变量,而不是$contents3
。
但真正的问题是Word文档的内部结构更复杂。 Word文档包含一定数量的序言和包装。如果您只是连接两个Word文档,那么可能 *
只剩下一个垃圾文件。您需要一个可以解析Word文件的库,只提取实际的文本内容,连接文本并将其另存为新的Word文件。
*)
测试它只是为了它的乐趣,Word确实无法对由两个连接的.doc文件组成的文件做任何事情。
答案 1 :(得分:1)
看起来你的代码在最后一行有拼写错误:
fwrite($fp, $contents);
应该是
fwrite($fp, $contents3);
答案 2 :(得分:-1)
我不打扰前两个fopen,只是file_get_contents(),然后fopen 3.doc并以这种方式写入
$file1 = (is_file("./1.doc"))?file_get_contents("./1.doc"):""; $file2 = (is_file("./2.doc"))?file_get_contents("./2.doc"):""; $file3_cont = $file1.$file2; if(is_file("./3.doc")){ if(($fp = @fopen("./3.doc", "w+")) !== false){ if(fwrite($fp, $file3_cont) !== false){ echo "File 3 written."; } } }