PHP将Curl添加到使用file_get_contents的函数

时间:2014-07-31 13:57:37

标签: php curl

我在网站上启用file_get_contents时遇到问题。有人建议我可以使用curl。

这是我原来的功能,使用file_get_contents

function getFile($fileQuery){
  global $user, $pass, $domain;

  return file_get_contents("https://$user:$pass@$domain:2083/".$fileQuery);

}

这就是我尝试过的,使用curl:

function getFile($fileQuery){
  global $user, $pass, $domain;

  //return file_get_contents("https://$user:$pass@$domain:2083/".$fileQuery);

  $url = "https://$user:$pass@$domain:2083/".$fileQuery;
    $ch = curl_init();    
    curl_setopt($ch, CURLOPT_URL,$url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable  

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 4000);    //timeout in seconds

    $result = curl_exec($ch);  
    echo "<pre>"; print_r($result);  
    curl_close($ch); 


}

但是,它会返回一个空白页。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以通过以下方式使用curl而不是file_get_contents:

   $url = "https://$user:$pass@$domain:2083/".$fileQuery;
    $ch = curl_init();    
    curl_setopt($ch, CURLOPT_URL,$url);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable  

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 4000);    //timeout in seconds

    $result = curl_exec($ch);  
    echo "<pre>"; print_r($result);  
    curl_close($ch);