使用Php函数file_get_contents

时间:2011-12-26 14:28:04

标签: php curl

我必须从网站抓取一些值。我应该使用curl还是file_get_contents ??

我在本地主机上收到了一些关于file_get_contents的警告。

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:3)

如果您有基本要求,我会赞成file_get_contents。如果您需要设置标题和请求方法等...我建议您使用curl

在您的情况下,我认为file_get_contents已足够。

或者,您可以使用file返回检索到的文件中的行数组。它适用于本地可访问的文件,也适用于远程URL。我经常发现循环遍历一个行数比在一个块中处理整个文件更方便 - 所以这可能是你最好的选择。

<?php
  foreach(file('http://example.com/the-file.ext') as $line){
    // do something with $line
  }
?>

答案 1 :(得分:1)

我认为Curl比file_get_contents更可取,因为你可以设置标题,请求方法如POST或GET,遵循重定向等等。所以,curl将是明智的

<?php
$ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    echo $data;
?>

答案 2 :(得分:0)

file_get_contents应该没问题