php文件下载后无法打开的处理方案及代码
时间:2021-12-28
来源:互联网
在手机上看
手机扫描阅读
在本篇内容里小编给大家整理的是一篇关于php文件下载后无法打开的处理方案及代码内容,有兴趣的朋友们可以学习下。
PHP下载图片后文件打开显示损坏问题
用php写个图片下载方法,测试发现下载的图片大小都没问题,但是无法打开文件。
解决方法如下:
首先打开文件下载代码,增加
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(); } }
内容扩展:
php下载excel文件,
1、在下载的过程中不要 输出任何非文件信息,比如 echo log信息。 否则下载后的文件无法打开,提示格式错误或者文件被破坏。
2、 输出的excel格式一定要和后缀名保存一直,否也会提示格式错误或者文件被破坏
代码如下:
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.' 错误:未生产文件'); echo ''; }
到此这篇关于php文件下载后无法打开的处理方案及代码的文章就介绍到这了,更多相关php文件下载后无法打开的解决内容请搜索PHP爱好者以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP爱好者!
相关阅读 更多
-
链上充币地址是钱包地址吗?充币地址和钱包地址的区别是什么? 时间:2025-04-30
-
一个钱包地址可以放几个代币? 时间:2025-04-30
-
usdt钱包哪个最安全与好用 新手入门必备 时间:2025-04-30
-
币安web3钱包最新空投每人100BR币详细操作教程 时间:2025-04-30
-
币安Web3钱包参与币安ALpha代币购买详细教程 时间:2025-04-30
-
2025帐户申请 :Trust Wallet 加密货币DeFi 钱包操作教学 时间:2025-04-30
今日更新
-
PHP中信息格式化操作详解(MessageFormatter类)
阅读:18
-
php回溯算法计算组合总和的实例代码
阅读:18
-
PHP将amr音频文件转换为mp3格式的操作细节
阅读:18
-
php将ppt转jpg图片的具体步骤代码
阅读:18
-
在PHP中操作文件的扩展属性
阅读:18
-
PHP八大设计模式案例详解
阅读:18
-
PHP二维码的生成与识别案例
阅读:18
-
PHP解决输出中文乱码问题讲解
阅读:18
-
php rename错误原因的查找方法
阅读:18
-
如何解决php domdocument找不到的问题
阅读:18