• 29-04-2015, 17:59:59
    #1
    Selamlar arkadaşlar,
    Uygulamamda .docx dosyaları oluşturuyorum ve bunları kayıt ediyorum fakat Rapor Oluştur denildiği zaman bu dosyaları sunucu dosyalarına erişmeden bilgisayara kaydetmek istiyorum. Dosya indirmekte sıkıntım yok fakat dosyayı indirdikten sonra açınca dosyada hata var uyarısı alıyorum Word programından. Kullandığım kodlar aşağıda ayrıca Word hazırlamak için PHPWord kullanıyorum.

    $time = time()*123;
    $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor(base_path('reports/Vnc2mo_Doc1.docx'));
    
    foreach($veriler as $adi => $degeri) {
    	$templateProcessor->setValue($adi,$degeri);
    }
    
    $templateProcessor->saveAs(base_path('printable/').$time.'.docx');
    
    
    header("Content-Description: File Transfer");
    header('Content-Disposition: attachment; filename="asd.docx"');
    header("Content-Type: application/docx");
    header('Content-Transfer-Encoding: binary');
    header("Cache-Control: public");
    header('Expires: 0');
    readfile(base_path('printable/').$time.'.docx');
    Şimdiden teşekkürler
  • 29-04-2015, 22:53:51
    #2
    Arkadaşlar sorun kullandığım fonksiyon içerisinde echo print_r vs gibi ekrana çıktı verecek fonksiyonları kullanmamdan ötürü kayıt edilen dosyaya da ekleme yapılıyormuş. Çıktı veren fonksiyonları kaldırınca sorun çözüldü.

    Teşekkürler