文档章节

PHP cURL下载/导出文件

Jpchina
 Jpchina
发布于 2017/05/12 14:40
字数 273
阅读 11
收藏 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

粉丝 6
博文 89
码字总数 36311
作品 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
memcached命令行及其用法

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

lyy549745
昨天
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表示按...

主内安详
05/22
0
0
PHPRAP v1.0.8 版本发布,安装时数据库不存在自动创建

PHPRAP,是一个 PHP 轻量级开源 API 接口文档管理系统,致力于减少前后端沟通成本,提高团队协作开发效率,打造 PHP 版的 RAP 。 PHPRAP已被GVP(码云最有价值开源项目计划)收录 更新记录 【修...

够过瘾
2017/12/13
445
2
基于 Laravel 5.4 接口管理平台 - xApi Manager

XAPI MANAGER -专业实用的开源接口管理平台,为程序开发者提供一个灵活,方便,快捷的API管理工具,让API管理变的更加清晰、明朗. 特点 全站基于 Laravel 5.4 + Ace Admin + Bootstrap + jQ...

duolatech
2017/04/20
0
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Memcached启动参数详解

memcached -d -m 1024 -l 192.168.100.101 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16 运行参数描述 -d:以守护(daemon)进程方式启动; -u:是运行Memcache的用户,例如 ......

月下狼
25分钟前
0
0
xgboost-kaggle

https://www.kaggle.com/dansbecker/xgboost This tutorial is part of the Learn Machine Learning series. In this step, you will learn how to build and optimize models with the powe......

tantexian
25分钟前
0
0
nginx学习八 代理服务

最常用的语法 proxy_pass Syntax: proxy_pass URL;Default: --Context:location.if in location,limit_exception 反向代理 例:/etc/nginx/conf.d/default.conf 反向代理(代理服务端)......

Romanceling
33分钟前
0
0
npm ERR! Unexpected end of JSON ...

npm install 报错: npm ERR! Unexpected end of JSON input while parsing near '..."^2.8.14"},"_hasShrin' npm ERR! A complete log of this run can be found in: ... 打开终端 命令: 第......

大_侠
37分钟前
0
0
Android中的设计模式之责任链模式

参考 《设计模式:可复用面向对象软件的基础 》5.1 Chain of responsibility 职责链 对象行为型模式 《Android源码设计模式解析与实战》第9章 使编程更有灵活性--责任链模式 意图 使多个对象...

newtrek
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部