在CURL中有一個參數 CURLOPT_RETURNTRANSFER :這個參數是將curl_exec()擷取的資訊以檔案流的形式返回,而不是直接輸出。例如:CURLOPT_RETURNTRANSFER參數的作用是
把CRUL擷取的內容賦值到變數。它預設是 0 直接返回擷取的輸出的文字資料流,有時候,我們要拿傳回值來做判斷或者做其他用途的話那就不太好了。所以,有的時候我們希望返回的內容作
為變數儲存,而不是直接輸出,那麼該怎麼做呢?本篇文章主要介紹了 php curl_exec()函數 CURL擷取傳回值的方法
其實CURLOPT_RETURNTRANSFER 可以設定,如果設定成CURLOPT_RETURNTRANSFER 1,它就將使用PHP curl擷取頁面內容或提交資料,作為變數儲存,而不是直接輸出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
下面我們看兩種樣本,
1、curl擷取頁面內容, 直接輸出例子:
<?php$url = 'http://www.php.cn';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_exec($ch);curl_close($ch);?>
運行一下代碼你會發現會直接輸出擷取的cul內容。
2、curl擷取頁面內容, 不直接輸出例子:
<?php$url = 'http://www.php.cn';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$response = curl_exec($ch); // 已經擷取到內容,沒有輸出到頁面上。curl_close($ch);echo $response;?>
當我們將CURLOPT_RETURNTRANSFER 設定成 1 的時候,頁面是沒有輸出內容的,我們將擷取的內容賦值給了一個變數$response ,用 echo 輸出的變數$response。
【相關文章推薦】
1.PHP curl_exec函數的用法執行個體詳解
2.分享一個當PHP伺服器不支援php curl_exec函數的解決方案
3. php curl_exec函數之擷取CURL請求的輸出資訊