做项目中有文档下载的需求,其实thinkphp完整版本内置了http类,运用该类我们可以轻易的实现httpdownload方法,具体代码如下:


//下载单个文件
function httpdownload($id=null,$file=null){
$http=new OrgNetHttp();//创建http类的实例
$filepath='./Uploads/resumes/';//文件所在路径
$realpath=$filepath.iconv("utf-8","gbk",$file);//文件名称
if(is_file($realpath)){//判断文件
$Jianli = M('Jianli');
$Jianli->where('id='.$id)->setInc('count');
$http->download($realpath);//下载文件
exit;
}
else{
exit('简历已被删除!');
}
}

file是传过来的文件名,也可以根据id自行获取。上述代码中加注释的代码就是thinkphp调用http类实现文件下载的方法,其他代码可忽略。