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;
}
部分线上服务器因为框架或者其他问题,会有文件夹权限问题.