叶测试 发布的文章

网站屏蔽指定省市 禁止IP查看网站

<?php 
    //屏蔽北上广
    $ip = get_client_ip();
    // $url = "http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
    $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip;
    $data = https_request($url);
    $data = json_decode($data, true);

    $region = $data['province'];
    if($region == '广东' || $region == '北京' || $region == '上海'){
        header("Content-type: text/html; charset=utf-8");
        echo "<h1>网站升级中</h1>";
        die;
    }

    /**
     * 获取访客IP地址
     *
     * @param      integer  $type   The type
     * @param      boolean  $adv    The advance
     *
     * @return     array    The client ip.
     */
    function get_client_ip($type = 0,$adv=false) {
        $type       =  $type ? 1 : 0;
        static $ip  =   NULL;
        if ($ip !== NULL) return $ip[$type];
        if($adv){
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                $pos    =   array_search('unknown',$arr);
                if(false !== $pos) unset($arr[$pos]);
                $ip     =   trim($arr[0]);
            }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
                $ip     =   $_SERVER['HTTP_CLIENT_IP'];
            }elseif (isset($_SERVER['REMOTE_ADDR'])) {
                $ip     =   $_SERVER['REMOTE_ADDR'];
            }
        }elseif (isset($_SERVER['REMOTE_ADDR'])) {
            $ip     =   $_SERVER['REMOTE_ADDR'];
        }
        // IP地址合法验证
        $long = sprintf("%u",ip2long($ip));
        $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
        return $ip[$type];
    }

    /**
     * 获取接口数据
     *
     * @param      <type>  $url    The url
     *
     * @return     <type>  ( description_of_the_return_value )
     */
    function https_request($url){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }

PHP array_keys获取数组中某元素的位置

PHP自身内置了很多函数,这也是使用PHP能够极大提高开发效率的一个重要原因,获取数组中一元素的位置有很多方法,其中PHP自身就已经内置了一个函数array_keys(),下边的代码能够打印出所有PHP的内置函数:
print_r(get_defined_functions());

array_keys(array,value,[strict]) 其中strict设置为true将触发数据类型校验的严格匹配模式,默认为false

关于vcard通讯录格式解析-微信二维码解析

【本文转自互联网,如有涉及侵权等伤害到您的利益,请及时告知,本人将马上删除】
最在网络上面查找关于vcard格式的技术资料,发现中文的资料很少,只能阅读vCard MIME

Directory Profile(rfc-2426)翻译它需要花太多的时间,现在把自己的理解做下记录,

希望对大家有帮助

- 阅读剩余部分 -

微信扫码一键保存到VCARD通讯录

BEGIN:VCARD
FN:我的姓名
TITLE:部门经理
ORG:深圳市天下天下公司
TEL;CELL:13912345678
TEL;WORK:0755-33338888
ADR;WORK:深圳市南山区科技南十二路长虹科技大厦0楼
URL:http://www.baidu.com/index.html
EMAIL;WORK:dongdong@mailserver.com
END:VCARD