PHP ile başka bir Word belgesine, Word belgesini ekle

3 Cevap php

Nasıl PHP ile başka bir Word belgesine bir Word belgesi ekleyebilirsiniz (fwrite)?

$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 sadece 1.DOC içerir.

3 Cevap

Her şeyden önce, sadece aslında konum fwriting() $contents değişken değil $contents3.

Gerçek bir sorun olsa bir Word belgesinin iç yapısı daha karmaşık olduğunu olacaktır. A Word belgesi giriş kısmında ve sarma belli bir miktarda içerir. Sadece iki Word belgeleri birleştirmek varsa, probably * sadece bir çöp dosyası ile sol olacağım. Sen, Word dosyalarını ayrıştırmak sadece gerçek metin içeriğini ayıklamak, metin birleştirmek ve yeni bir Word dosyası olarak kaydedebilirsiniz bir kütüphane gerekir.

*) bunun sadece eğlenmek için bunu test, Word, aslında iki Zincirleme. Doc dosyaları yapılmış bir dosya ile bir şey yapamaz.

Eğer son on line kodunda bir yazım hatası var gibi görünüyor:

fwrite($fp, $contents);

olmalıdır

fwrite($fp, $contents3);

Ben, ilk iki için fopen ile rahatsız sadece file_get_contents (), sonra fopen 3.doc ve ona bu şekilde yazmak olmaz

$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.";
    }
  }
}