0

0

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

php中文网

php中文网

发布时间:2016-06-13 12:34:49

|

1266人浏览过

|

来源于php中文网

原创

直接可以拿来用的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<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过来的数据转换编码

立即学习PHP免费学习笔记(深入)”;

Avactis购物车
Avactis购物车

Avactis是一个强大的PHP在线购物系统拥有多个版本包括开源版本。它具备一个在线购物系统所需要的所有功能从产品到会员管理,订单和营销。可以无限分类和为产品指定任务数量的图片(支持自动生成缩略图)。使用自定义字段功能,让你可以更好地定义一个产品。该系统提供以非常灵活的方式来创建任意类型的促销活动如设置折扣代码,基于价格的折扣或基于数量的折扣等。

下载
$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;
}

?

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 生态工具与框架:扩展开发能力
Golang 生态工具与框架:扩展开发能力

《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。

1

2026.02.24

Golang 性能优化专题:提升应用效率
Golang 性能优化专题:提升应用效率

《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。

2

2026.02.24

Golang 面试题精选:高频问题与解答
Golang 面试题精选:高频问题与解答

Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。

1

2026.02.24

Golang 运行与部署实战:从本地到云端
Golang 运行与部署实战:从本地到云端

《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。

3

2026.02.24

Golang 疑难杂症解决指南:常见问题排查与优化
Golang 疑难杂症解决指南:常见问题排查与优化

《Golang 疑难杂症解决指南》聚焦开发过程中常见却棘手的问题,从并发模型、内存管理、性能瓶颈到工程化实践逐步拆解。通过真实案例与调试思路,帮助开发者定位问题根因,建立系统化排查方法。不只给出答案,更强调分析路径与工具使用,让你在复杂 Go 项目中具备持续解决问题的能力。

1

2026.02.24

Golang 入门学习路线:从零基础到上手开发
Golang 入门学习路线:从零基础到上手开发

Golang 入门路线涵盖从零到上手的核心路径:首先打牢基础语法与切片等底层机制;随后攻克 Go 的灵魂——接口设计与 Goroutine 并发模型;接着通过 Gin 框架与 GORM 深入 Web 开发实战;最后在微服务与云原生工具开发中进阶,旨在培养具备高性能并发处理能力的后端工程师。

0

2026.02.24

中国研究生招生信息网官方网站入口 研招网网页版在线入口
中国研究生招生信息网官方网站入口 研招网网页版在线入口

中国研究生招生信息网入口(https://yz.chsi.com.cn) 此网站是研究生报名入口的唯一官方网站

95

2026.02.24

苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法
苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法

本专题汇总苹果官网最新可用入口及中国站点访问方式,涵盖官网直达链接、iPhone官方页面查看方法与常见访问说明,帮助用户快速进入苹果官方网站,便捷了解产品信息与官方服务。

14

2026.02.24

Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址
Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址

本专题系统整理Asianfanfics(AFF)官方网站最新可用入口,涵盖官方平台最新直达地址、官网登录方式及中文访问指引,帮助用户快速、安全地进入AFF平台浏览与使用相关内容。

15

2026.02.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号