php 获取浏览器名称版本实例程序

 更新时间:2016年11月25日 17:28  点击:2153
获取浏览器版本在php中直接使用HTTP_USER_AGENT就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了,

例1

 代码如下 复制代码

function get_user_browser() {
 if (empty($_SERVER['HTTP_USER_AGENT'])) {
  return '';
 }

 $agent = $_SERVER['HTTP_USER_AGENT'];
 $browser = '';
 $browser_ver = '';

 if (preg_match('/MSIEs([^s|;]+)/i', $agent, $regs)) {
  $browser = 'Internet Explorer';
  $browser_ver = $regs[1];
 } elseif (preg_match('/FireFox/([^s]+)/i', $agent, $regs)) {
  $browser = 'FireFox';
  $browser_ver = $regs[1];
 } elseif (preg_match('/Maxthon/i', $agent, $regs)) {
  $browser = '(Internet Explorer ' .$browser_ver. ') Maxthon';
  $browser_ver = '';
 } elseif (preg_match('/Opera[s|/]([^s]+)/i', $agent, $regs)) {
  $browser = 'Opera';
  $browser_ver = $regs[1];
 } elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i', $agent, $regs)) {
  $browser = 'OmniWeb';
  $browser_ver = $regs[2];
 } elseif (preg_match('/Netscape([d]*)/([^s]+)/i', $agent, $regs)) {
  $browser = 'Netscape';
  $browser_ver = $regs[2];
 } elseif (preg_match('/safari/([^s]+)/i', $agent, $regs)) {
  $browser = 'Safari';
  $browser_ver = $regs[1];
 } elseif (preg_match('/NetCaptors([^s|;]+)/i', $agent, $regs)) {
  $browser = '(Internet Explorer ' .$browser_ver. ') NetCaptor';
  $browser_ver = $regs[1];
 } elseif (preg_match('/Lynx/([^s]+)/i', $agent, $regs)) {
  $browser = 'Lynx';
  $browser_ver = $regs[1];
 }

 if (!empty($browser)) {
    return addslashes($browser . ' ' . $browser_ver);
 } else {
  return 'Unknow browser';
 }
}

实例

 代码如下 复制代码

function get_user_browser()
{
    if (empty($_SERVER['HTTP_USER_AGENT']))
    {    //当浏览器没有发送访问者的信息的时候
        return '';
    }

    $agent       = $_SERVER['HTTP_USER_AGENT'];   
    $browser     = '';
    $browser_ver = '';

    if (preg_match('/MSIEs([^s|;]+)/i', $agent, $regs))
    {
        $browser     = 'Internet Explorer';    //当匹配到了MSIE 的时候,取得数字的那一部分房在数组$regs里
        $browser_ver = $regs[1];
    }
    elseif (preg_match('/FireFox/([^s]+)/i', $agent, $regs))
    {                           
        $browser     = 'FireFox';                //当匹配到了firefox/的时候,取得后面紧跟的数字部分
        $browser_ver = $regs[1];
    }
    elseif (preg_match('/Maxthon/i', $agent, $regs))
    {
        $browser     = '(Internet Explorer ' .$browser_ver. ') Maxthon';
        $browser_ver = '';
    }
    elseif (preg_match('/Opera[s|/]([^s]+)/i', $agent, $regs))
    {
        $browser     = 'Opera';
        $browser_ver = $regs[1];
    }
    elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i', $agent, $regs))
    {
        $browser     = 'OmniWeb';
        $browser_ver = $regs[2];
    }
    elseif (preg_match('/Netscape([d]*)/([^s]+)/i', $agent, $regs))
    {
        $browser     = 'Netscape';
        $browser_ver = $regs[2];
    }
    elseif (preg_match('/safari/([^s]+)/i', $agent, $regs))
    {
        $browser     = 'Safari';
        $browser_ver = $regs[1];
    }
    elseif (preg_match('/NetCaptors([^s|;]+)/i', $agent, $regs))
    {
        $browser     = '(Internet Explorer ' .$browser_ver. ') NetCaptor';
        $browser_ver = $regs[1];
    }
    elseif (preg_match('/Lynx/([^s]+)/i', $agent, $regs))
    {
        $browser     = 'Lynx';
        $browser_ver = $regs[1];
    }

    if (!empty($browser))
    {
       return addslashes($browser . ' ' . $browser_ver);//转义引号
    }
    else
    {
        return 'Unknow browser';
    }
}


判断是否为蜘蛛

function is_spider($record = true)    //判断是否为蜘蛛
{
    static $spider = NULL;

    if ($spider !== NULL)
    {
        return $spider;        //
    }

    if (empty($_SERVER['HTTP_USER_AGENT']))
    {
        $spider = '';

        return '';
    }

    $searchengine_bot = array(
        'googlebot',
        'mediapartners-google',
        'baiduspider+',
        'msnbot',
        'yodaobot',
        'yahoo! slurp;',
        'yahoo! slurp china;',
        'iaskspider',
        'sogou web spider',
        'sogou push spider'
    );

    $searchengine_name = array(
        'GOOGLE',
        'GOOGLE ADSENSE',
        'BAIDU',
        'MSN',
        'YODAO',
        'YAHOO',
        'Yahoo China',
        'IASK',
        'SOGOU',
        'SOGOU'
    );

    $spider = strtolower($_SERVER['HTTP_USER_AGENT']);    //将用户浏览器信息转成小写

    foreach ($searchengine_bot AS $key => $value)
    {
        if (strpos($spider, $value) !== false)                    //绝对不等于,避免字符串出现为止为0的这种情况
        {
            $spider = $searchengine_name[$key];            //返回对应的seo/seo.html" target="_blank">搜索引擎名

            return $spider;
        }
    }

    $spider = '';

    return '';
}

本文章来给各位同学详细介绍fgetcsv函数将csv文件导入mysql数据库具体函数,同时在中文乱码的解决办法,各位朋友可参考。


在处理大批量excel数据到mysql数据库时,用php自带的fgetcsv函数先从csv文件中逐行获取数据,再配合sql语句导入数据库,如果遇到了乱码问题,可以使用iconv函数进行转码。


代码示例:

 代码如下 复制代码

<?php
$row = 1;
$handle = fopen("test.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {//1000为csv文件总行数,逗号是数据分隔符,这两个参数均可以忽略不写
$num = count($data);
echo "<p> 第 $row行有$num个字段。 <br>n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br>n";
}
}
fclose($handle);
?>

导入mysql时中文乱码

用网上通用的方法读取并上传csv文件内容进入mysql数据库中时,中文显示乱码,即使对数据用iconv函数转码后仍然乱码,这时可以用setlocale()函数:

这个函数经查阅是配置地域信息用的,在读取和写入csv数据前先用此函数进行定义,比如我的csv文件是无BOM的UTF-8格式,就先用如下函数进行定义:

 代码如下 复制代码

setlocale(LC_ALL, 'zh_CN.UTF8′);

然后再用iconv函数对数据内容进行转码入库等后续操作。

本文章从我一个ajax实例中提供了段关于通过图片地地址把图片保存到本址,这里我们直接通过readfile读取然后通过fopen保存即可

实例

 代码如下 复制代码

<?php
/**
 * 通过图片的远程url,下载到本地
 * @param: $url为图片远程链接
 * @param: $filename为下载图片后保存的文件名
 */
function GrabImage($url,$filename) {
 if($url==""):return false;endif;
 
 ob_start();
 readfile($url);
 $img = ob_get_contents();
 ob_end_clean();
 $size = strlen($img);
 
 //"../../images/books/"为存储目录,$filename为文件名
 $fp2=@fopen("../../images/books/".$filename, "a");
 fwrite($fp2,$img);
 fclose($fp2);
 
 return $filename;
 }
?>

函数返回图片下载完后保存的名字,那么只需在数据库中存储 图片目录+图片名即可。

Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。 但是有时候我们网站前台并不需要Bootstrap,只要管理后台使用Bootstrap,那么该如何单独为一个module加载Bootstrap呢

这里有4中方法来实现这个:
1.在应用的配置文件中添加如下内容 (protected/config/main.php):

PHP

 代码如下 复制代码
    'modules'=>array(
        'admin'=>array(
            'preload'=>array('<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/bootstrap" title="查看 bootstrap 中的全部文章" target="_blank">bootstrap</a></span>'),
            'components'=>array(
                '<span class='wp_keywordlink_affiliate'><a href="http://lxy.me/tag/bootstrap" title="查看 bootstrap 中的全部文章" target="_blank">bootstrap</a></span>'=>array(
                    'class'=>'ext.bootstrap.components.Bootstrap'
            )
        ),
    // ...其他模块...
    )   

   

2.在模块初始化时加载:

 代码如下 复制代码
    public function init()
    {
        // import the module-level models and components
        $this->setImport(array(
            'admin.models.*',
            'admin.components.*',
            // 'ext.bootstrap.components.Bootstrap', // this will go to app config for components
        ));
        Yii::app()->getComponent('bootstrap');// this does the loading
    }


3.模块初始化加载的另一种方法:

 代码如下 复制代码

PHP
    public function init()
    {
        // import the module-level models and components
        $this->setImport(array(
            'admin.models.*',
            'admin.components.*',
        ));

        $this->configure(array(
                'components'=>array(
                    'bootstrap'=>array(
                        'class'=>'ext.bootstrap.components.Bootstrap'
                    )
                )
        ));
        $this->getComponent('bootstrap');
    }


4.模块加载时的另一种方法:

 代码如下 复制代码

PHP
    public function init()
    {
        // import the module-level models and components
        $this->setImport(array(
            'admin.models.*',
            'admin.components.*',
        ));

        $this->configure(array(
                'preload'=>array('bootstrap'),
                'components'=>array(
                    'bootstrap'=>array(
                        'class'=>'ext.bootstrap.components.Bootstrap'
                    )
                )
        ));
        $this->preloadComponents();
    }

本文章来给各位使用Magento的朋友介绍怎么来获取购物车产品数量和价格并显示出来,下面我来给各位同学详细介绍。

得到购物车所有的产品信息

 代码如下 复制代码

// $items = Mage::getModel('checkout/cart')->getQuote()->getAllItems();
$items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();foreach($items as $item) {
    echo 'ID: '.$item->getProductId().'<br>';
    echo 'Name: '.$item->getName().'<br>';
    echo 'Sku: '.$item->getSku().'<br>';
    echo 'Quantity: '.$item->getQty().'<br>';
    echo 'Price: '.$item->getPrice().'<br>';
    echo "<br>";
}

当然,也可以快速得到当前用户的所有的item的个数和产品的所有个数!下面是magento的一个快速函数!

 代码如下 复制代码

$totalItems = Mage::getModel('checkout/cart')->getQuote()->getItemsCount();
$totalQuantity = Mage::getModel('checkout/cart')->getQuote()->getItemsQty();

下面是得到subtotal price 和grand price的方法

 代码如下 复制代码

$subTotal = Mage::getModel('checkout/cart')->getQuote()->getSubtotal();
$grandTotal = Mage::getModel('checkout/cart')->getQuote()->getGrandTotal()

这样就可以快速的得到当前购物车的详细信息,方便操作数据,显示购物车的信息!!

一般用于右上角的购物车信息居多,或者ajax购物车!

[!--infotagslink--]

相关文章

  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • JavaScript判断浏览器及其版本信息

    本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
  • js实现浏览器打印功能的示例代码

    这篇文章主要介绍了js如何实现浏览器打印功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-15
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • C#使用Process类调用外部exe程序

    本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
  • 微信小程序 页面传值详解

    这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
  • uniapp微信小程序:key失效的解决方法

    这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

    第一种,只区分浏览器,不考虑版本 复制代码 代码如下:function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOp...2014-05-31
  • C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25