php实现的下载会有很多烦人的事情,下载失败,下载慢,中文乱码等等,在网站找了一个很好用的下载类,推荐给大家,下边附上TP5的傻瓜式集成方法
1、将类文件放到extend目录下,我是放到了/extend/filedown/下边了
2、控制器引入该类
use filedown\FileDownload;
3、下载 方法
public function download($id){
$model = ListModel::get($id);
//判断是不是手机下载,遇到一些手机下载中文名称的文件会乱码
if($this->request->isMobile()){
$file_name = $model['title'];
}else{
$file_name = iconv("UTF-8","GB2312",$model['title']);
}
//获取文件
$file_c = $model['extend']['file'];
//截取后缀。有其他方式,自己喜欢就好
$file_hz = substr(strrchr($file_c, '.'), 1);
$file = '.'.$file_c;
$obj = new FileDownload();
$flag = $obj->download($file, $file_name.'.'.$file_hz);
}