public function download(){
$url = Env::get('ROOT_PATH').'/public/uploads/xfile/a.xlsx';
if(file_exists($url))
{
$this->downloads($url,'a.xlsx');
}else{
exit('400');
}
}
public function downloads($file_url,$file_name=''){
if(!isset($file_url)||trim($file_url)==''){
echo '500';
}
if(!file_exists($file_url)){ //检查文件是否存在
echo '404';
}
$file_size= filesize($file_url);
ob_clean();
header('Pragma: public');
header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control:no-store, no-cache, must-revalidate');
header('Cache-Control:pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding:binary');
header('Content-Encoding:none');
header('Content-type:multipart/form-data');
header('Content-Disposition:attachment; filename="'.$file_name.'"'); //设置下载的默认文件名
header('Content-length:'. $file_size);
$fp = fopen($file_url, 'r');
while(connection_status() == 0 && $buf = @fread($fp, 819200)){
echo $buf;
}
fclose($fp);
@unlink($file_size);
@flush();
@ob_flush();
exit();
}
php 文件下载 与 上传
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
centos7用命令上传、下载文件
centos7用命令上传、下载文件
centos linux 上传下载 -
SpringBoot项目整合MinIO实现文件的上传下载
SpringBoot项目整合MinIO实现文件的上传下载
spring java 文件路径 -
PHP超大文件上传与下载
前段时间做视频上传业务,通过网页上传视频到服务器。 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制;2,请求时间过长,请求超时;3,传输中断,必须重新上传导致前功尽弃; 解决方案: 1,修改服务端上传的限制配置;Ngi
网页上传整个文件夹 网页实现大文件上传和下载 JSP实现大文件上传和下载 WEB实现大文件上传和下载 PHP实现大文件上传和下载 -
PHP文件的上传和下载
1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使用PECL模块安装方法快速简捷,这里不说明 配置php.ini,设置参数 apc.rfc1867=1
网页上传整个文件夹 网页实现大文件上传和下载 JSP实现大文件上传和下载 WEB实现大文件上传和下载 PHP实现大文件上传和下载 -
SpringMVC文件上传与下载
文件的上传与下载在我们的日常工作中十分的常见,在项目开发中也是经常要用到的,springmvc可以更好地支持文件的上传和下载;但是springmvc
SpringMVC spring mvc xml -
文件上传与下载(二)
比较完整的文件上传的代码: 然后就是服务器文件的路径:
服务器 文件上传 程序