這篇文章主要講解了“php文件下載后無(wú)法打開(kāi)如何處理”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“php文件下載后無(wú)法打開(kāi)如何處理”吧!
攸縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。PHP下載圖片后文件打開(kāi)顯示損壞問(wèn)題
用php寫(xiě)個(gè)圖片下載方法,測(cè)試發(fā)現(xiàn)下載的圖片大小都沒(méi)問(wèn)題,但是無(wú)法打開(kāi)文件。
解決方法如下:
首先打開(kāi)文件下載代碼,增加
ob_clean(); flush();
完整下載圖片代碼
if(isset($_GET["action"])&&$_GET["action"] == "download") { if($_GET["file"]) { $fileinfo = pathinfo($_GET["file"]); header("Content-type: application/x-".$fileinfo["extension"]); header("Content-Disposition: attachment; filename=favicon.ico"); ob_clean(); flush(); readfile($_GET["file"]); exit(); } }
內(nèi)容擴(kuò)展:
php下載excel文件,
1、在下載的過(guò)程中不要 輸出任何非文件信息,比如 echo log信息。 否則下載后的文件無(wú)法打開(kāi),提示格式錯(cuò)誤或者文件被破壞。
2、 輸出的excel格式一定要和后綴名保存一直,否也會(huì)提示格式錯(cuò)誤或者文件被破壞
代碼如下:
if (file_exists(CACHE_PATH . $file_name)){ //$this->logger->error("file realpath:".realpath(CACHE_PATH . $file_name)); header( "Pragma: public" ); header( "Expires: 0" ); header( "Content-Encoding: none" ); header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Cache-Control: public" ); header( "Content-Type: application/vnd.ms-excel"); header( "Content-Description: File Transfer" ); header( "Content-Disposition: attachment; filename=" . $file_name ); header( "Content-Transfer-Encoding: binary" ); header( "Content-Length: " . filesize ( CACHE_PATH . $file_name ) ); readfile ( CACHE_PATH . $file_name ); } else { $this->logger->error("export model :".$id." 錯(cuò)誤:未生產(chǎn)文件"); echo ""; }
感謝各位的閱讀,以上就是“php文件下載后無(wú)法打開(kāi)如何處理”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)php文件下載后無(wú)法打開(kāi)如何處理這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!