1.先放你要下载的excel文件在服务器某处:
我是放在Public文件下的
UploadExcel处的:
2.控制器里代码:
public function excel(){ $file="student".time().".xls";//模板名字 $filename ="./Public/UploadExcel/student.xls";//模板放的位置 // 将需要下载的文件 中的数据 用输入流 读取到程序中 $f = fopen( $filename , "r" ); // 以读取文件的方式 打开文件 $str = fread( $f , filesize( $filename ) ); // 读取输入流中的数据 fclose($str ); // 关闭文件 // 设置浏览器 不以text/html的方式 解析响应数据 // 设置浏览器 以输出流的方式 解析响应数据 // 设置浏览器 以输出流的方式 解析响应数据 Header("Content-type: application/octet-stream"); // 设置浏览器下载文件的接收单位 Header("Accept-Ranges: bytes"); // 设置浏览器下载文件的长度 Header("Accept-Length: ".filesize($filename)); // 设置浏览器下载文件时的默认保存文件名 Header("Content-Disposition: attachment; filename=".$file); echo $str; }
部分线上服务器因为框架或者其他问题,会有文件夹权限问题.