php下载文件出现乱码怎么办

php下载文件出现乱码的解决方法:首先使用ob_clean()函数丢弃输出缓冲区中的内容;然后利用ob_flush()函数冲刷出输出缓冲区中的内容;最后下载文件即可。

函数介绍:

ob_clean()函数用来丢弃输出缓冲区中的内容。

ob_flush()冲刷出(送出)输出缓冲区中的内容。

(相关视频推荐:java视频教程)

解决方法:

在下载文件之前,先使用以上两个函数进行处理,然后再下载即可,这样就不会出现乱码了。

代码实现:

<?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;
  }
}
?>

相关推荐:php培训

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php下载文件出现乱码怎么办