使用Thinkphp自带HTTP类的功能实现文件下载
今天有个任务要实现网页中的文件下载功能。时间紧迫,选择使用Thinkphp自带的功能实现。
一、网上查找Thinkphp文件下载,查找的结果如下:
http://www.cnblogs.com/yuwensong/p/3806423.html
http://blog.csdn.net/z1988316/article/details/6538785
根据第一个链接中的代码,测试,发现报错。
public function test(){
import("ORG.Net.Http");
$filename="Uploads/v1.2.doc";
//exit($filename);
$showname="人们是傻子.doc";
Http::download($filename, $showname);
}查找原因,发现2个问题:
(1)导入语法错误,我用的是thinkphp3.2,不能使用Import导入,要用new方式。
详见:http://zhidao.baidu.com/link?url=dfGxWKjX-DXwL0LWfRXJ-hqnD9W5BGxA4IQtzU27FDAgoYulqxwMOmeC_5haoQzXffbwPYn5yyJn3IAOlz4Ilt3E7cXz4U_RSOiebbTTSLO
(2)文件路径要用绝对路径。
改写后代码如下:
public function search(){
$wechat_list = I("post.keyword");
// 调用类
$http = new OrgNetHttp;
$filename = "F:Public/file/123.doc";
$showname="11.doc";
$http->download($filename, $showname);
}测试,发现报错:Class "finfo" not found。
网上查找,发现是要在 php.ini 中开启绑定的 php_fileinfo.dll,
思路来自:http://www.thinkphp.cn/topic/3340.html
在thinkphp目录下查找php.ini文件,找到2个,查找extension=php_fileinfo.dll,前面;去掉,2个文件里都改了,然后重启wamp,下载成功。
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
