zoukankan      html  css  js  c++  java
  • 比file_get_contents稳定的curl_get_contents

     

    相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了

    分享一个实际在用的函数:

    /*比file_get_contents稳定的多!$timeout为超时时间,单位是秒,默认为1s。*/
    function curl_get_contents($url,$timeout=1) {
    $curlHandle = curl_init();
    curl_setopt( $curlHandle , CURLOPT_URL, $url );
    curl_setopt( $curlHandle , CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt( $curlHandle , CURLOPT_TIMEOUT, $timeout );
    $result = curl_exec( $curlHandle );
    curl_close( $curlHandle );
    return $result;
    }
    $hx = curl_get_contents('http://www.jb51.net'); 

    相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了。curl的一些常识介绍
    保留原file_get_contents函数的原因是当读取本地文件时,用原生的file_get_contents显然更合适。
    另来自张宴的file_get_contnets的优化,具体可看:http://www.jb51.net/article/28030.htm
    同样是设置超时时间来解决这个问题。如果没装curl,就必须得用这个方式了。

    $ctx = stream_context_create(array(
    'http' => array(
    'timeout' => 1 //设置一个超时时间,单位为秒
    )
    )
    );
    file_get_contents("http://www.jb51.net/", 0, $ctx); 

    另外,据不完全测试,使用curl获取页面比用file_get_contents稳定的多。

  • 相关阅读:
    Ubuntu下errno值
    Git 经常使用命令总结
    【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记38 Unwind Segue反向过渡
    高斯噪声
    小记5.8面试
    基数排序之多keyword排序运用队列
    广告贴
    输入字符串反序输出
    Codeforces Round #313 A. Currency System in Geraldion
    matlab中怎样加入凝视
  • 原文地址:https://www.cnblogs.com/timelesszhuang/p/4179665.html
Copyright © 2011-2022 走看看