当前位置:Gxlcms > PHP教程 > php下载图片打不开怎么办

php下载图片打不开怎么办

时间:2021-07-01 10:21:17 帮助过:19人阅读

php下载图片打不开的解决办法:首先打开相关的PHP文件;然后在文件中添加“ob_clean”函数,用来丢弃输出缓冲区中的内容即可。

推荐:《PHP视频教程》

php下载图片打开失败!

最近写了一个图片下载,下载成功了,结果打开说文件错误,打不开,找了半天

度娘说是,BOM的问题,然后改变编码格式为utf-8无BOM格式,上传之后问题仍旧。

最后添加ob_clean();问题解决

ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。

下面是我的代码:

  1. function download($file_path,$file_name){
  2. // header("Content-type:text/html;charset=utf-8");
  3. //首先要判断给定的文件存在与否
  4. if(!file_exists($file_path)){
  5. return false;
  6. }
  7. $fp=fopen($file_path,"r");
  8. ob_clean();
  9. $file_size=filesize($file_path);
  10. //下载文件需要用到的头
  11. Header("Content-type: application/octet-stream");
  12. Header("Accept-Ranges: bytes");
  13. Header("Accept-Length:".$file_size);
  14. Header("Content-Disposition: attachment; filename=".$file_name);
  15. $buffer=1024;
  16. $file_count=0;
  17. //向浏览器返回数据
  18. while(!feof($fp) && $file_count<$file_size){
  19. $file_con=fread($fp,$buffer);
  20. $file_count+=$buffer;
  21. echo $file_con;
  22. }
  23. fclose($fp);
  24. }

以上就是php下载图片打不开怎么办的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行