PHP cURL下载/导出文件

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

$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协议相关知识点;html

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

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

参考文献: Client URL 库函数

相关文章
相关标签/搜索