PHP頭文件下載文件的小坑

function downLoad(){
           $path = './static/zhan/uploads/head/201708311617012941.png';
           $filename = '個人文件.png'; // 文件名
           //下面是輸出下載;
           header("Cache-Control: max-age=0");
           header("Content-Description: File Transfer");
           header('Content-disposition: attachment; filename=' . basename($filename )); // 文件名
           header('Content-Type: application/octet-stream');   //設置爲一個下載類型  
           header("Content-Transfer-Encoding: binary"); // 告訴瀏覽器,這是二進制文件
           header('Content-Length: ' . filesize($path)); // 告訴瀏覽器,文件大小
           @readfile($path); //輸出文件;
       }

這段代碼測試過正常的,以前 $path ='http://xxx/./static/zhan/uploads/head/201708311617012941.png'; 是寫成這樣的,致使下載下來的文件沒法正常打開,以前覺得是文件大小緣由,最後發現我把header('Content-Length: ' . filesize($path));這句註釋掉,竟然能夠正常打開文件了,最後才知道filesize($path)不須要加域名。瀏覽器

其餘header函數之設置content-typeapp

相關文章
相關標籤/搜索