🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
第一种方法 ``` / * * 获取网站logo */ function get_url_ico($url){ $url_arr=parse_url($url); if(!$url_arr['scheme']){ $url.="http://"; } $url_arr=parse_url($url); $url=$url_arr['scheme']."://".$url_arr['host']; if(url_exists($url)){ $api_url="http://g.soz.im/{$url}/cdn.ico"; $ico=$url."/favicon.ico"; if(remote_file_exists($ico)){ return $ico; }elseif(remote_file_exists($api_url)){ return $api_url; }else{ return false; } }else{ return false; } } /* * 判断url是否存在 */ function url_exists($url) { $head = @get_headers($url); return is_array($head) ? true : false; } /* * 判断远程文件是否存在 */ function remote_file_exists($url) { $executeTime = ini_get('max_execution_time'); ini_set('max_execution_time', 0); $headers = @get_headers($url); ini_set('max_execution_time', $executeTime); if ($headers) { $head = explode(' ', $headers[0]); if ( !empty($head[1]) && intval($head[1]) < 400) return true; } return false; } ``` 方法二 ``` //得到每一个url,获取其中的icon $url = $matches[1][$i]; $contents = @file_get_contents($url); preg_match('/<link rel=".*?icon".*?href="(.*?)".*?>/', $contents,$icon); if(!empty($icon)){ $array = @get_headers($icon[1],1); if(preg_match('/200/',$array[0])){ return $icon[1]; }else{ //去掉多余的斜杠 $url = substr_replace($url,"",-1); return $url.$icon[1]; } }else{ $url=substr($url,7);//去除前面 $position = strpos($url, '/'); $url=substr($url,0,$position); echo "<img src='' style='width:16px;height:16px;'><br/>"; return "http://".$url."/favicon.ico"; } ```