|
文章来源:jquery教程 - http://www.jq-school.com/Show.aspx?id=325
前面已经分享了PHP常用功能代码片段(1~5)和PHP常用功能代码片段(6~10),今天是第三篇,也就是第11到15这5个实现代码片段,希望可以帮到jquery学堂群里面的成员和广大对PHP开发的网友们提高开发效率,以下是第三篇文章。
11、PHP实现如何获取网址的PR值
/*
*功能:对URL进行编码
*参数说明:$web_url 网站URL,不包含"http://"
*/
function HashURL($url)
{
$SEED = "Mining PageRank is AGAINST GOOGLE’S TERMS OF SERVICE. Yes, I’m talking to you, scammer.";
$Result = 0x01020345;
for ($i=0; $i<strlen($url); $i++)
{
$Result ^= ord($SEED{$i%87}) ^ ord($url{$i});
$Result = (($Result >> 23) & 0x1FF) | $Result << 9;
}
return sprintf("8%x", $Result);
}
/*
*功能:根据google提供的pr查询接口获取pagerank
*参数说明:$domain 网站域名,不包含"http://"
*/
function pagerank($domain)
{
$StartURL = "http://toolbarqueries.google.com/tbr?client=navclient-auto&features=Rank:&q=info:";
$GoogleURL = $StartURL.$domain. '&ch='.HashURL($domain);
echo $GoogleURL.'<br>';
$fcontents = file_get_contents("$GoogleURL");
$pagerank = substr($fcontents,9);
if (!$pagerank) return "0";else return $pagerank;
}
//调用方法
echo pagerank("www.jq-school.com");
12、PHP实现为post过来的数据转换编码
$info = array();
foreach($_POST as $key => $value){
$info[$key] = iconv("utf-8","gb2312",$value);
}
13、PHP实现获取客户端IP地址及所在地区
function address($ip) {
$info = json_decode(file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip='.$ip.'&format=json'), false);
if ($info ->ret == 1) {
if ($info ->province != $info ->city) {
return $info ->country.",".$info ->province."(".$info ->city.") ".$info ->district." ".$info ->desc;
} else {
return $info ->country.",".$info ->province." ".$info ->district." ".$info ->desc;
}
} else {
return '地球';
}
}
14、PHP实现取得客户端浏览器版本
function browser($ua) {
if (stripos($ua, "Googlebot")) {
$browser = "谷歌蜘蛛";
}
elseif(stripos($ua, "Baiduspider") !== false) {
$browser = "百度蜘蛛";
}
elseif(stripos($ua, "Yahoo!") !== false) {
$browser = "雅虎蜘蛛";
}
elseif(stripos($ua, "bingbot")) {
$browser = "必应蜘蛛";
}
elseif(stripos($ua, "YRSpider")) {
$browser = "云壤蜘蛛";
}
elseif(stripos($ua, "Yeti") !== false) {
$browser = "Naver蜘蛛";
}
elseif(stripos($ua, "Maxthon")) {
if (stripos($ua, "AppleWebKit")) {
$browser = "遨游浏览器(极速模式)";
}
elseif(stripos($ua, "Trident")) {
$browser = "遨游浏览器(兼容模式)";
}
elseif(stripos($ua, "MAXTHON 2.0")) {
$browser = "遨游浏览器2.0";
}
}
elseif(stripos($ua, "Firefox")) {
$browser = "火狐浏览器";
}
elseif(stripos($ua, "Opera") == 0 && stripos($ua, "Presto")) {
$browser = "Opera";
}
elseif(stripos($ua, "BIDUBrowser")) {
if (stripos($ua, "Trident")) {
$browser = "百度浏览器(兼容模式)";
}
elseif(stripos($ua, "AppleWebKit")) {
$browser = "百度浏览器(极速模式)";
}
}
elseif(stripos($ua, "Ruibin")) {
$browser = "瑞影浏览器";
}
elseif(stripos($ua, "qihu theworld")) {
if (stripos($ua, "Trident")) {
$browser = "世界之窗浏览器";
}
elseif(stripos($ua, "AppleWebKit")) {
$browser = "世界之窗浏览器(极速模式)";
}
}
elseif(stripos($ua, "MetaSr")) {
if (stripos($ua, "Trident")) {
$browser = "搜狗高速浏览器(兼容模式)";
}
elseif(stripos($ua, "AppleWebKit")) {
$browser = "搜狗高速浏览器(极速模式)";
}
}
elseif(stripos($ua, "LBBROWSER")) {
if (stripos($ua, "Trident")) {
$browser = "猎豹浏览器(兼容模式)";
}
elseif(stripos($ua, "AppleWebKit")) {
$browser = "猎豹浏览器(极速模式)";
}
}
elseif(stripos($ua, "YLMFBR")) {
$browser = "115浏览器";
}
elseif(stripos($ua, "QQBrowser")) {
if (stripos($ua, "Trident")) {
$browser = "QQ浏览器(兼容模式)";
}
elseif(stripos($ua, "AppleWebKit")) {
$browser = "QQ浏览器(极速模式)";
}
}
elseif(stripos($ua, "TencentTraveler")) {
$browser = "腾讯TT浏览器";
}
elseif(stripos($ua, "TaoBrowser")) {
if (stripos($ua, "Trident")) {
$browser = "淘宝浏览器(兼容模式)";
}
elseif(stripos($ua, "AppleWebkit")) {
$browser = "淘宝浏览器(极速模式)";
}
}
elseif(stripos($ua, "CoolNovo")) {
$browser = "枫树浏览器";
}
elseif(stripos($ua, "SaaYaa")) {
$browser = "闪游浏览器";
}
elseif(stripos($ua, "360SE")) {
$browser = "360安全浏览器";
}
elseif(stripos($ua, "360EE")) {
if (stripos($ua, "Trident")) {
$browser = "360极速浏览器(兼容模式)";
}
elseif(stripos($ua, "AppleWebkit")) {
$browser = "360极速浏览器(极速模式)";
}
}
elseif(stripos($ua, "Konqueror")) {
$browser = "Konqueror";
}
elseif(stripos($ua, "Chrome")) {
$browser = "谷歌浏览器";
}
elseif(stripos($ua, "Safari")) {
$browser = "Safari";
}
elseif(stripos($ua, "MSIE")) {
$ver = explode(";", substr($ua, stripos($ua, "MSIE") + 5, 4));
$ver = $ver[0];
$browser = "IE ".$ver;
}
elseif(stripos($ua, "UCWEB")) {
$browser = "UCWEB浏览器";
}
elseif(stripos($ua, "WAP")) {
$browser = "Mobile浏览器";
} else {
$browser = $ua;
}
if ($browser == '') $browser = $ua;
return $browser;
}
15、PHP实现取得客户端操作系统版本
function os($ua) {
$os = "";
if (stripos($ua, "Googlebot")) {
$os = "谷歌蜘蛛";
}
elseif(stripos($ua, "Baiduspider") !== false) {
$os = "百度蜘蛛";
}
elseif(stripos($ua, "Yahoo!") !== false) {
$os = "雅虎蜘蛛";
}
elseif(stripos($ua, "bingbot")) {
$os = "必应蜘蛛";
}
elseif(stripos($ua, "YRSpider")) {
$os = "云壤蜘蛛";
}
elseif(stripos($ua, "Yeti") !== false) {
$os = "Naver蜘蛛";
}
elseif(stripos($ua, "Windows NT")) {
switch (substr($ua, stripos($ua, "Windows NT") + 11, 3)) {
case 5.0:
{
$os = "Windows 2000";
break;
}
case 5.1:
{
$os = "Windows XP";
break;
}
case 5.2:
{
$os = "Windows 2003";
break;
}
case 6.0:
{
$os = "Windows Vista/2008";
break;
}
case 6.1:
{
$os = "Windows 7";
break;
}
case 6.2:
{
$os = "Windows 8";
break;
}
default:
{
$os = "Windows";
break;
}
}
if (stripos($ua, "WOW64")) {
$os.= "(X64)";
} else {
$os.= "(X86)";
}
}
elseif(stripos($ua, "Android")) {
$os = substr($ua, stripos($ua, "Android"), 11);
}
elseif(stripos($ua, "Linux")) {
if (stripos($ua, "i686")) {
$os = "Linux X86";
} else {
$os = "Linux";
}
if (stripos($ua, "X11")) {
$os.= "(X Window)";
}
}
elseif(stripos($ua, "Macintosh")) {
$os = "Mac";
}
elseif(stripos($ua, "IOS")) {
$os = "iOS";
}
elseif(stripos($ua, "ZTE")) {
$os = "ZTE";
}
elseif(stripos($ua, "Windows 98")) {
$os = "Windows 98";
} else {
$os = "未知系统";
}
return $os;
} |
|