设为首页 收藏本站
查看: 950|回复: 0

[经验分享] 直接可以拿来用的PHP常用功能代码片段(11~15)

[复制链接]

尚未签到

发表于 2017-4-13 09:16:32 | 显示全部楼层 |阅读模式
  文章来源: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;
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-364220-1-1.html 上篇帖子: PHP 開發工具三部曲 Episode II – Zend Server [ 500 error 事件簿 ] 下篇帖子: 直接可以拿来用的PHP常用功能代码片段(16~20)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表