phalcon html 文件下载

来源:互联网 发布:360软件认证中心 编辑:程序博客网 时间:2024/06/05 12:44

function downloadFile($response, $file_name, $root) {
$response->setHeader('Content-type', 'text/html;charset=utf-8');
//用以解决中文不能显示出来的问题
$file_name=iconv("utf-8","gb2312",$file_name);
$file_path=$root.'/'.$file_name;
//首先要判断给定的文件存在与否
if(!file_exists($file_path)){
echo "没有该文件文件";
return ;
}
$fp=fopen($file_path,"r");
$file_size=filesize($file_path);
$response->setHeader("Content-type" ,"application/octet-stream");
$response->setHeader("Accept-Ranges", "bytes");
$response->setHeader("Accept-Length", $file_size);
$response->setHeader("Content-Disposition", "attachment; filename=".$file_name);
$buffer=1024;
$file_count=0;
//向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
$file_con=fread($fp,$buffer);
$file_count+=$buffer;
echo $file_con;
}
fclose($fp);
}

controller 中使用方式:
function downloadAction() {
downloadFile(this>response,file, $root);//文件名,文件路径 绝对路径
}

html 使用:

<a href="/server_name/Controller/download?file=demo.txt"></a>
0 0
原创粉丝点击