PHP文件下载出现乱码

发布于:2021-06-26 15:10:49

问题:
一个用了很久的文件下载函数;
<?php
/**
 * 强制下载文件
 * @param string $filename 变量
 * @param string $name 变量
 * @return mixed
 */
function download($filename,$name){
  if ((isset($filename))&&(file_exists($filename))){
     header("Content-length: ".filesize($filename));
     header('Content-Type: application/octet-stream');
     header('Content-Disposition: attachment; filename="' . $name . '"');
     readfile("$filename");
  } else {
     $info="Looks like file does not exist!";
     return $info;
  }
}
?>
再次使用功能可以实现;
但是下载下来的文件内容出现了乱码;
--------------------------------------------------------------------------------
解决办法:
在下载之前使用两个函数处理一下:
<?php
/**
 * 强制下载文件
 * @param string $filename 变量
 * @param string $name 变量
 * @return mixed
 */
function download($filename,$name){
  if ((isset($filename))&&(file_exists($filename))){
     header("Content-length: ".filesize($filename));
     header('Content-Type: application/octet-stream');
     header('Content-Disposition: attachment; filename="' . $name . '"');
     ob_clean();  
     flush();
     readfile("$filename");
  } else {
     $info="Looks like file does not exist!";
     return $info;
  }
}
?>


阅读 145+

一片空白

父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌。