php excel下载模板方法2,放excel文件在服务器上,直接拉取

时间:2021-10-06 00:52:00

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

部分线上服务器因为框架或者其他问题,会有文件夹权限问题.