當我下載原始壓縮文件時,它工作正常,但是當我使用下面的頭文件和它下載它時,它不起作用。我知道最好採取這種方式,並告訴瀏覽器如何處理文件,而不是讓它保留在瀏覽器中,但我無法得到這個工作,所以我很想使用header()。文件下載不工作
$path = $this->tru->config->get('root.path').'/Digital Version of Book for Web.zip';
set_time_limit(0);
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-Type: application/zip');
header("Content-Transfer-Encoding: binary");
header('Content-Disposition: attachment; filename="NewFileName.zip"');
header('Content-Length: ' . filesize($path));
$f = fopen($path, 'rb');
fpassthru($f);
fclose($f);
編輯:
對不起,我的意思是它不工作是在一個zip格式的文件下載(全部9.3 MB),但我無法解包拉鍊,因爲這是無效的。
「它不起作用」太含糊。請解釋什麼是錯的。文件是否損壞? – 2010-01-19 15:00:04
看看這個:http://stackoverflow.com/questions/2088267/download-of-zip-file-runs-a-corrupted-file-php/2088331#2088331 – Gumbo 2010-01-19 21:16:34