Fuzqing

php通过curl获取站点ico图标
php通过curl往Google的ico图标API提交请求,获取站点ico图标,缓存到自己的服务器上,下次需要调用...
扫描右侧二维码阅读全文
31
2018/01

php通过curl获取站点ico图标

php通过curl往Google的ico图标API提交请求,获取站点ico图标,缓存到自己的服务器上,下次需要调用就直接从自己的服务器读取ico文件

function curlGetIco($domname)
{
    //$domname是主机名,或者说是域名,例如= $domname = 'www.baidu.com';
    //Google的api,但是在我天朝,你懂的,至于为啥要这么写,因为简单方便,我的vps在国外
    $url = 'https://www.google.com/s2/favicons?domain=';
    if(!empty($domname))
    {
        $url .=$domname;
    }
    else
    {
        exit('domname is not allow empty!');
    }
    // 1. 初始化
    $ch = curl_init ();
    // 2. 设置选项,包括URL
    curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt ( $ch, CURLOPT_URL, $url );
    // 3. 打开缓冲区
    ob_start ();
    // 4. 执行curl,抓取内容
    curl_exec ( $ch );
    $ico_data = ob_get_contents ();
    // 5.关闭缓冲区
    ob_end_clean ();
    $return_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
    $ico_name = $domname.'.ico';
    //设置ico图标文件缓存文件夹
    $cache_path = dirname(__FILE__).'/';
    $fp= @fopen($cache_path.$ico_name,"a");
    fwrite($fp,$ico_data);
    curl_close($ch);
    //这里可以进行数据库操作或者将ico图标直接输出到浏览器
}
Last modification:May 3rd, 2018 at 09:35 am
If you think my article is useful to you, please feel free to appreciate

One comment

  1. 林浩楠

    有意思

Leave a Comment