使用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 \Org\Net\Http;
		$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,下载成功。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值