文档章节

PHP cURL下载/导出文件

Jpchina
 Jpchina
发布于 2017/05/12 14:40
字数 273
阅读 17
收藏 0

我反正知道,我跳了无数的坑,特大!不过还好解决了;和http协议联系深重,看来web开发光看一遍http协议是不够的,要非常熟悉,就跟吃饭说话一样熟悉才行啊!废话不多说,直接看代码。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);                                    // 设置访问链接
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);                       // 是否返回信息
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);                            // 超时时间
curl_setopt($ch, CURLOPT_POST, FALSE);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, function  ($resURL, $strHeader) {
    if (preg_match('/^Content-Disposition/i', $strHeader)) {
        header($strHeader);
    }
    if (preg_match('/^Content-Type/i', $strHeader)) {
        header($strHeader);
    }
    return strlen($strHeader);
});
$html = curl_exec($ch);
curl_close($ch);
echo $html;
exit();

这里主要要点是 CURLOPT_HEADERFUNCTION 参数,这个参数是从新定义http响应头,这是我的理解;--- Http协议相关知识点;

第二点最后exit()退出函数,为什么要加,这个知识点还是有些模糊,我要在研究一下php解析过程和源代码了;

总结:http协议不熟悉,php解析过程不熟悉;知道是好事情,做到才是真的好。

参考文献: Client URL 库

© 著作权归作者所有

共有 人打赏支持
Jpchina

Jpchina

粉丝 7
博文 89
码字总数 36724
作品 0
浦东
程序员
私信 提问
php dompdf包如何将HTML页面导出中文无乱码的PDF文档

首先下载composer curl -sS https://getcomposer.org/installer | php 下载dompdf包 php composer require dompdf/dompdf 下载loadfont.php,此文件的功能是安装中文字体 1.git clone https:......

abc965432
2017/04/14
0
0
在win8/win8.1中wamp启动curl失败的解决方法

因为最近准备好好学习一下cURL,所以在我的win8.1本本上安装了一个wamp,安装完毕之后一切正常,准备操练一下cURL的时候,出现报错,说是没有定义curlinit();这个函数。用phpinfo()看了一下...

嗜学如命的小蚂蚁
2015/09/13
195
0
memcached命令行及其用法

21.5 memcached命令行 创建数据 利用telnet命令连接memcached数据库 #写入数据 这个是错误的示范,因为0 30 已经存在 检测存储状态 #利用get key值查看 #因为定义了过期时间,且已经过期,所...

lyy549745
2018/08/18
0
0
21.5 memcached命令行;21.6 memcached数据导出和导入;21.7 php连接

21.5 memcached命令行 Memcached语法规则: 1. rn rn 注:rn在windows下是Enter键 2. 可以是set, add, replace 3. set表示按照相应的存储该数据,没有的时候增加,有的时候覆盖 4. add表示按...

主内安详
2018/05/22
0
0
wamp在win7-64位下Unable to load dynamic library php_c

wamp在win7-64位下Unable to load dynamic library phpcurl.dll 网上很多资料都类似这个: PHP在Windows下启动时提示Unable to load dynamic library phpcurl.dll问题解决 作者:朦朧中的罪惡...

冥想_
2014/10/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【PG内核】事务ID冷冻简述

数据库代码中事务ID的类型TransactionId定义为:typedef uint32 TransactionId。因此事务ID最大值为2^32-1=4294967295。 事务ID是需要循环使用的,为了做到这一点,数据库在做vacuum时将很老...

movead
26分钟前
13
0
深入学习SpringMVC以及学习总结

一、优点: 1.SpringMVC简化web程序开发; 2.SpringMVC效率很好(单例模式); 3.SpringMVC提供了大量扩展点,方便程序员自定义功能; 如果想学习Java工程化、高性能及分布式、深入浅出。微服...

编程SHA
27分钟前
1
0
关于开源分布式事务中间件Fescar,我们总结了开发者关心的13个问题

开源分布式事务中间件 Fescar 自1月10日上线v0.1版本以来,受到了开发者们的极大关注(watch249,star3005,fork649,社区讨论的issue58,数据统计于1月17日14:00),可见,天下苦分布式事务...

阿里云官方博客
27分钟前
1
0
斯皮格尔:我们敢于采纳非常疯狂的创意

“阅后即焚”照片分享应用 Snapchat 母公司 Snap 的 CEO 埃文-斯皮格尔(Evan Spiegel)近日接受了英国《金融时报》记者的采访,谈到了该公司的未来发展,与社交网络 Facebook 的竞争,限制自己...

linuxCool
28分钟前
1
0
javaweb文件上传以及文件上传成功后但是目录中没有显示

经过看别人写的代码然后自己实际操作一遍,基本都是搬运也是为了练习。1:创建fileUpLoad.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UT......

小橙子的曼曼
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部