仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1312|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页编程之一个阅读器反省类

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:25:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
既然选择了PHP,就要坚持学下去!大家有没有问自己为什么会选择学习PHP呢?就我个人而言,完全是因为兴趣,因为我的专业和计算机完全无关,但是就是对编程很赶兴趣,尤其对网络编程、web开发特别赶兴趣。阅读器   一个阅读器反省类


<?php
//原作者:epsilon7
//SonyMusic(sonymusic@163.net)
class BrowserDetector  {
    var $UA =  "";    //$HTTP_USER_AGENT的内容
    var $BROWSER=  "Unknown";    //阅读器类型
    var $PLATFORM   =  "Unknown";    //操作体系
    var $VERSION=  "";    //阅读器版本号
    var $MAJORVER   =  "";    //阅读器主版本号
    var $MINORVER   =  "";    //阅读器副版本号
    /* 机关函数入手下手 */
    function BrowserDetector(){  
        $this->UA   =  getenv(HTTP_USER_AGENT);   
        $preparens  =  "";   
        $parens =  "";   
        $i = strpos($this->UA,"(");   
        if ($i >= 0)   {  
            $preparens  = trim(substr($this->UA,0,$i));  
            $parens = substr($this->UA,$i+1,strlen($this->UA));  
            $j = strpos($parens,")");  
            if($j>=0)  {  
                $parens = substr($parens,0,$j);  
            }   
        }   
        else   {  
            $preparens = $this->UA;   
        }   
        $browVer =  $preparens;   
        $token  =  trim(strtok($parens,";"));   
        while($token)   {  
            if($token=="compatible")  {
            }  
            elseif(preg_match("/MSIE/i","$token"))  {  
                $browVer = $token;  
            }  
            elseif(preg_match("/Opera/i","$token"))  {  
                $browVer = $token;  
            }  
            elseif(preg_match("/X11/i","$token") || preg_match("/SunOS/i","$token") || preg_match ("/Linux/i","$token"))  {  
                $this->PLATFORM   =  "Unix";  
            }  
            elseif(preg_match("/Win/i","$token"))  {  
                $this->PLATFORM   =  $token;  
            }  
            elseif(preg_match("/Mac/i","$token") || preg_match("/PPC/i","$token"))  {  
                $this->PLATFORM   =  $token;  
            }  
            $token = strtok(";");   
        }   
        $msieIndex  =  strpos($browVer,"MSIE");   
        if($msieIndex >= 0)   {  
            $browVer =  substr($browVer,$msieIndex,strlen($browVer));   
        }   
        $leftover   =  "";   
        if(substr($browVer,0,strlen("Mozilla")) == "Mozilla")   {  
            $this->BROWSER =  "Netscape";  
            $leftover=substr($browVer,strlen("Mozilla")+1,strlen($browVer));   
        }   
        elseif(substr($browVer,0,strlen("Lynx")) == "Lynx")   {  
            $this->BROWSER =  "Lynx";  
            $leftover=substr($browVer,strlen("Lynx")+1,strlen($browVer));   
        }   
        elseif(substr($browVer,0,strlen("MSIE")) == "MSIE") {  
            $this->BROWSER =  "IE";  
            $leftover=substr($browVer,strlen("MSIE")+1,strlen($browVer));   
        }   
        elseif(substr($browVer,0,strlen("Microsoft Internet Explorer")) == "Microsoft Internet  Explorer")   {  
            $this->BROWSER =  "IE";  
            $leftover=substr($browVer,strlen("Microsoft Internet Explorer")+1,strlen($browVer));   
        }  
        elseif(substr($browVer,0,strlen("Opera")) == "Opera")   {  
            $this->BROWSER =  "Opera";  
            $leftover=substr($browVer,strlen("Opera")+1,strlen($browVer));   
        }   
        $leftover = trim($leftover);   
        $i=strpos($leftover," ");   
        if($i > 0)   {  
            $this->VERSION = substr($leftover,0,$i);   
        }   
        else   {  
            $this->VERSION = $leftover;   
        }   
        $j = strpos($this->VERSION,".");   
        if($j >= 0)   {  
            $this->MAJORVER = substr($this->VERSION,0,$j);  
            $this->MINORVER = substr($this->VERSION,$j+1,strlen($this->VERSION));   
        }   
        else   {  
            $this->MAJORVER = $this->VERSION;   
        }
    }
}

//测试法式入手下手
$test=new browserdetector;
echo $test->UA."<br>";
echo $test->BROWSER."<br>";
echo $test->PLATFORM."<br>";
echo $test->VERSION."<br>";
echo $test->MAJORVER."<br>";
echo $test->MINORVER."<br>";
?>  告诉你了一个方式,但是缺少努力这一环节,那也是白搭。
活着的死人 该用户已被删除
沙发
发表于 2015-2-4 13:07:08 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
小妖女 该用户已被删除
板凳
发表于 2015-2-5 04:16:09 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
透明 该用户已被删除
地板
发表于 2015-2-5 06:14:05 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
不帅 该用户已被删除
5#
发表于 2015-2-5 20:31:05 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
柔情似水 该用户已被删除
6#
发表于 2015-2-26 21:18:26 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
兰色精灵 该用户已被删除
7#
发表于 2015-3-4 14:40:27 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
简单生活 该用户已被删除
8#
发表于 2015-3-10 20:59:45 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-17 09:55:42 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
若相依 该用户已被删除
10#
发表于 2015-3-24 06:14:05 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
乐观 该用户已被删除
11#
发表于 2015-4-12 05:59:17 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
12#
发表于 2015-4-13 10:37:07 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
深爱那片海 该用户已被删除
13#
发表于 2015-4-19 15:51:32 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
海妖 该用户已被删除
14#
发表于 2015-4-20 23:05:25 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
若天明 该用户已被删除
15#
发表于 2015-4-24 02:07:05 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
飘飘悠悠 该用户已被删除
16#
发表于 2015-5-4 02:59:58 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
金色的骷髅 该用户已被删除
17#
发表于 2015-6-28 21:10:48 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
小女巫 该用户已被删除
18#
发表于 2015-7-18 00:53:18 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
谁可相欹 该用户已被删除
19#
发表于 2015-7-20 00:33:35 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-15 11:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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