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 庫函數

相關文章
相關標籤/搜索