• 常用的两个PHP类


     
    /**
     * Class Interval
     * @author logonmy
     * @desc  简单分析程序执行时间;
     */
     
    Class Interval{
        var $start;
     
        public function getTrueTime()
        {
            list($sec,$unix) = explode(' ',microtime());
            return (float)$unix+(float)$sec;
        }
     
        public function __construct()
        {
            $this->start = $this->getTrueTime();
        }
     
        public function spend()
        {
            return round($this->getTrueTime() - $this->start,4);
        }
    }
     
     
    Class GetIpToCity{
        var $city;//获取ip对应城市,本单位网络平均用时0.3秒;
     
        public function __construct()
        {
            $this->city = $this->get_ip_to_city();
        }
     
        public function get_ip_to_city()
        {
            $city = '';
            $ip = $this->getip();
            $ip_api = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip';
            $json_data = file_get_contents($ip_api.$ip);
            $ip_data = json_decode($json_data,true);
            $city = $ip_data['city'];
            return $city;
        }
     
        ////获得访客真实ip
        public function getip(){
            if(!empty($_SERVER["HTTP_CLIENT_IP"])){
                $ip = $_SERVER["HTTP_CLIENT_IP"];
            }
            if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip
                $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
            }
            if($ip){
                $ips = array_unshift($ips,$ip);
            }
            $count = count($ips);
            for($i=0;$i<$count;$i++){
                if(!preg_match("/^(10|172.16|192.168)./i",$ips[$i])){//排除局域网ip
                    $ip = $ips[$i];
                    break;
                }
            }
            $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
            if($tip=="127.0.0.1"){ //获得本地真实IP
                return $this->get_onlineip();
            }else{
                return $tip;
            }
        }
     
        ////获得本地真实IP
        public function get_onlineip() {
            $mip = file_get_contents("http://iframe.ip138.com/ic.asp");
            if($mip){
                preg_match("/[.*]/",$mip,$sip);
                $p = array("/[/","/]/");
                return preg_replace($p,"",$sip[0]);
            }else{return null;}
        }
     
     
     
    }
  • 相关阅读:
    主机与虚拟机之间的网络连接
    QT下过多点的曲线绘制
    C++返回对象和返回引用
    STS MVC与MyBatis的结合
    STS中依赖项的设置
    STS中MyBatis的基本实现
    STS中不同包但相同类名引起的问题:A component required a bean of type 'javax.activation.DataSource' that could not be found
    STS中AOP的实现
    STS如何将一个文件夹设置缺省的创建路径(build path)
    ARB扩展与标准OpenGL的关系
  • 原文地址:https://www.cnblogs.com/logon/p/3418951.html
Copyright © 2020-2023  润新知