PHP技术

当前位置:首页 > PHP技术 >

ThinkPHP实现文件下载的方法

时间:2015-10-12        阅读:次        QQ群:182913345

ThinkPHP实现文件下载的方法,代码如下:

public function downloadFile(){
	$M = M($this->tableName);
	$map['id'] = I('fileId');
	$info = $M->where($map)->find();
	$filepath = '.'.$info['path'];
	if(!file_exists($filepath)){
		echo '文件不存在!';
		exit;
	}

	$file = fopen($filepath,"r"); // 打开文件
	// 输入文件标签
	Header("Content-type: application/octet-stream");
	Header("Accept-Ranges: bytes");
	Header("Accept-Length: ".filesize($filepath));
	Header("Content-Disposition: attachment; filename=" . $info['savename']);
	// 输出文件内容
	echo fread($file,filesize($filepath));
	fclose($file);
	exit;
}

$this->tableName 为存储文件的数据表
根据fileId获取数据库响应文件
通过file_exists判断文件是否存在,如果不存在则输出错误信息。
 
通过fopen打开文件
在更具Header方法处理打开文件,以及通过fread()方法把文件输出。

上一篇:PHP正则表达式:匹配规则

下一篇:提升PHP性能的15个要点

扫一扫,更多精彩内容推送

PHP技术分享

分享PHP技术,前端技术,数据库,SEO优化,服务器,网络安全等知识,是php程序员工作学习的好帮手!

Copyright © 2013-2015.PHP技术分享 www.php520.cn  版权所有  网站地图    PHP学习交流群

免责声明:网站内容收集于互联网,本网站不承担任何由于内容的合法性及健康性所引起的争议和法律责任。

欢迎大家对网站内容侵犯版权等不合法和不健康行为进行监督和举报。 沪ICP备15014499号-2