如果我爲zip文件創建鏈接href
並點擊鏈接,我的zip文件就會被下載,並打開它獲取我期望的內容。打開下載的壓縮文件創建cpgz文件?
下面是HTML:
<a href="http://mysite.com/uploads/my-archive.zip">download zip</a>
的問題是我想的鏈接指向我的應用程序,這樣我可以決定用戶是否有權訪問這個zip文件。
所以我想我的HTML是這樣的:
<a href="/canDownload">download zip</a>
和我的PHP爲/canDownload
頁:
//business logic to determine if user can download
if($yesCanDownload){
$archive='https://mysite.com/uploads/my-archive.zip';
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($archive));
header("Content-Length: ".filesize($archive));
ob_clean();
flush();
echo readfile("$archive");
}
所以,我認爲這個問題已與header()
代碼做但我已經嘗試了一些基於各種谷歌和其他建議,並沒有工作相關的一些事情。
如果你回答我的問題,很可能你能回答這個問題太:Zipped file with PHP results in cpgz file after extraction
什麼是* cpgz *文件? – hakre 2012-07-15 19:56:10
爲了簡單起見,我把它稱爲cpgz文件,但它實際上是一個'xxx.zip.cpgz'文件。從谷歌,我認爲這是壓縮文件的壓縮。看來我正在下載一個文件,其內容不能被讀取,也許是因爲header()指令已經由'/ canDownload'確定了? – 2012-07-15 19:58:24
嘗試將擴展名更改爲.txt,然後查看您是否有純文本。 – jprofitt 2012-07-15 19:59:49