問題:今天,小夥伴遇到一個問題,使用curl明明已經輸出返回結果了,可是本身打印倒是返回的true,想處理結果獲取值統統不行。而後我一個參數一個參數查看,發現了CURLOPT_RETURNTRANSFER 不一樣的值會致使curl_exec不一樣的輸出方法。php
CURLOPT_RETURNTRANSFER 能夠設置,若是設置成CURLOPT_RETURNTRANSFER 1,它就將使用PHP curl獲取頁面內容或提交數據,做爲變量儲存,而不是直接輸出。它默認是 0 直接返回獲取的輸出的文本流curl
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER, 1);
url
例1:curl獲取內容, 直接輸出code
<?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內容。it
例2:curl獲取頁面內容, 不直接輸出例子class
<?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。變量