热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

直接可以拿来用的PHP惯用功能代码片段(11~15)

直接可以拿来用的PHP常用功能代码片段(11~15)文章来源:jquery教程?-?http://www.jq-school.com/Show.aspx?id=325?前面已经分享了PHP常用功能代码片段(1~5)和PHP常用功能代码片段(6~10),今天是第三篇,也就是
直接可以拿来用的PHP常用功能代码片段(11~15)

文章来源: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> 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.'
'; $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;
}

?


推荐阅读
  • 一个登陆界面
    预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
  • Web App vs Native App:未来的移动应用趋势
    随着移动互联网的发展,Web App和Native App之间的竞争日益激烈。对于开发者而言,选择哪一种技术路径更为明智?本文将深入探讨两种应用模式的特点及未来趋势。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 探讨GET与POST请求数据传输的最大容量
    在Web开发领域,GET和POST是最常见的两种数据传输方法。本文将深入探讨这两种请求方式在不同环境下的数据传输能力及其限制。 ... [详细]
  • 在使用Firefox浏览器打开本地HTML文件时,尝试调用Canvas的drawImage方法可能会遇到NS_ERROR_NOT_AVAILABLE错误。本文探讨了这一问题的原因及解决方案。 ... [详细]
  • 利用CSS3和React实现数字滚动动画组件
    在前端开发中,数字滚动动画是一个常见的需求。本文将详细介绍如何使用CSS3和React构建一个数字滚动动画组件,包括组件的代码实现和样式设计。如果您对HTML版本感兴趣,欢迎留言获取。 ... [详细]
  • 使用Bootstrap创建响应式渐变固定头部导航栏的方法
    本文详细介绍了如何利用Bootstrap框架构建一个具有渐变效果的固定顶部响应式导航栏,包括HTML结构、CSS样式以及JavaScript交互的完整实现过程。适合前端开发者和学习者参考。 ... [详细]
  • 动画队列的设计目的是为了确保一系列任务能够按照预定顺序执行,每个任务只有在其前一个任务完成后才开始。这些任务既可以是同步的,也可以是异步的。本文将探讨jQuery动画系统中的队列机制,并介绍如何使用队列来优化动画效果。 ... [详细]
  • jQuery 1.4.4 已经发布,这是自 1.4.3 版本以来不到一个月的又一更新。本次更新主要集中在基于用户反馈的错误修复,并引入了一项新的功能。 ... [详细]
  • 本文基于作者使用Flask框架处理后端逻辑和原生JavaScript及jQuery进行前端开发的经验,详细介绍了如何在前后端之间高效地传输JSON数据。文章不仅涵盖了技术实现细节,还提供了实用的代码示例。 ... [详细]
  • Python与MySQL交互指南:从基础到进阶
    本文深入探讨了Python与MySQL数据库的集成方法,包括数据库连接、数据表创建、索引管理、数据操作以及如何防止SQL注入等关键内容。适合初学者及希望提升数据库操作技能的开发者。 ... [详细]
  • 1.选择一个翻译页面,我选择的是有道词典(http:dict.youdao.com)2.随便输入一个英语单词进行翻译,然后查看源文件,找到 ... [详细]
  • 移动端浏览器为了识别用户的双击放大操作,通常会在点击后引入300毫秒的延迟。虽然这种延迟在日常使用中可能不易察觉,但对于需要即时响应的应用(如网页游戏)来说,消除这一延迟至关重要。 ... [详细]
author-avatar
潘怡安淑华寧生
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有