Indirilen PHP oluşturulan Excel dosyası farklı

0 Cevap php

I http://pear.php.net/package/Spreadsheet_Excel_Writer/ bulunan modülünü kullanarak xls dosyaları üreten bir PHP dosyası var

Ben sadece iyi örnek belge oluşturabilir ve bunu açtığınızda, gayet iyi görünüyor.

Bir sonraki adım, bir indirilebilir link çevirmek. Bunu yapmak için, bu yaptım:

    $mimeType = "application/vnd.ms-excel";
    $file_name = "test.xls";
    $file_path = "/tmp/".$file_name;
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header('Content-Type: application/' . $mimeType);
    header('Content-Length: '.$size);
    header("Content-Disposition: attachment;filename=$file_name ");
    header("Content-Transfer-Encoding: binary ");

    // open the file in binary read-only mode
    // display the error messages if the file can´t be opened
    $file = & fopen($file_path, 'rb');

    if ($file) {
        // stream the file and exit the script when complete
        fpassthru($file);
        exit;

    } else {
        echo $err;
    }

Ancak dosyasını indirdiğinizde, Excel ve OpenOffice hem çöp veri bir sürü içerir. Fark sonra / tmp klasörü ve indirilen dosya ikili dosya birbirinden farklı olduğunu söylüyor. Ben başlıkları ile veya fpassthru ile ilgili bir şey var ama ben sorunu hata ayıklama ile çok şans olmadı olduğunu tahmin ediyorum.

Sorunun ne olduğunu herhangi bir fikir?

0 Cevap