在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。
【相關文章推薦】
#2.分享一個當PHP伺服器不支援php curl_exec函數的解決方法
#3. php curl_exec函數之取得CURL請求的輸出資訊
以上是php curl_exec()函數 CURL取得傳回值的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!