php中file_get_contents和curl两个函数用法

文章简单的介绍了php中file_get_contents和curl两个函数用法,在不能使用file_get_contents时可以尝试一下curl函数,下面是file_get_contents和curl两个函数同样功能的不同写法.

file_get_contents函数的使用示例,代码如下:

  1. <?php
  2. $file_contents = file_get_contents('http://www.phpfensi.com/');
  3. echo $file_contents;
  4. ?>

换成curl函数的使用示例,代码如下:

  1. <?php
  2. $ch = curl_init();
  3. $timeout = 5;
  4. curl_setopt ($ch, CURLOPT_URL, 'http://www.phpfensi.com');
  5. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  7. $file_contents = curl_exec($ch);
  8. curl_close($ch);
  9. echo $file_contents;
  10. ?>

利用function_exists函数来判断php是否支持一个函数可以轻松写出下面函数,代码如下:

  1. <?php
  2. function vita_get_url_content($url) {
  3. if(function_exists('file_get_contents')) {
  4. $file_contents = file_get_contents($url);
  5. } else {
  6. $ch = curl_init();
  7. $timeout = 5;
  8. curl_setopt ($ch, CURLOPT_URL, $url);
  9. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  10. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  11. $file_contents = curl_exec($ch);
  12. curl_close($ch);
  13. }
  14. return $file_contents;
  15. }
  16. ?>

其实上面的这个函数还有待商议,如果你的主机服务商把file_get_contents和curl都关闭了,上面的函数就会出现错误.