2016年12月

sublime常用操作

Ctrl + Enter在当前行下面新增一行然后跳至该行;Ctrl + Shift + Enter在当前行上面增加一行并跳至该行。

Ctrl + ←/→进行逐词移动,相应的,Ctrl + Shift + ←/→进行逐词选择。

Ctrl + ↑/↓移动当前显示区域,Ctrl + Shift + ↑/↓移动当前行。

- 阅读剩余部分 -

mobiscroll.js移动端日历、时间、下拉框插件

<script src="__PUBLIC__/plugins/mobiscroll/mobiscroll.core-2.5.2.js" type="text/javascript"></script>
<script src="__PUBLIC__/plugins/mobiscroll/mobiscroll.core-2.5.2-zh.js" type="text/javascript"></script>
<link href="__PUBLIC__/plugins/mobiscroll/mobiscroll.core-2.5.2.css" rel="stylesheet" type="text/css" />
<script src="__PUBLIC__/plugins/mobiscroll/mobiscroll.datetime-2.5.1.js" type="text/javascript"></script>
<script src="__PUBLIC__/plugins/mobiscroll/mobiscroll.datetime-2.5.1-zh.js" type="text/javascript"></script>
<script src="__PUBLIC__/plugins/mobiscroll/mobiscroll.android-ics-2.5.2.js" type="text/javascript"></script>
<link href="__PUBLIC__/plugins/mobiscroll/mobiscroll.android-ics-2.5.2.css" rel="stylesheet" type="text/css" />

- 阅读剩余部分 -

ThinkPHP3.2实现手机移动端访问自动切换主题模板的两种方法

ThinkPHP的模板主题机制,如果只是在PC,只要需修改 DEFAULT_THEME
(新版模板主题默认是空,表示不启用模板主题功能)配置项就可以方便的实现多模板主题切换。
但对于移动端和PC端,也许你会设计完全不同的主题风格,且针对不同的来路提供不同的渲染方式,其中一种比较流行的方法是“响应式设计”,但就本人经
历而言,要实现完全的“响应式设计”并不是那么容易,且解决兼容问题也是个难题,假设是大型站点,比如:淘宝、百度、拍拍这些,响应式设计肯定是满足不了
需求的,而是需要针对手机访问用户提供单独的手机网站。 ThinkPHP
完全可以实现,而且相当简单。和TPM的智能模版切换引擎一样,只要对来路进行判断处理即可。

- 阅读剩余部分 -

PHP获取服务器的mac地址类

<?php
/**
 * 获取网卡的MAC地址,目前支持WIN/LINUX系统
 * 获取机器网卡的物理(MAC)地址
 */
class getMacAddr{
    var $return_array = array();
    var $mac_addr;

    function getMacAddr($os_type){
        switch (strtolower($os_type)) {
            case 'linux':
                $this->forLinux();
                break;
            case 'solaris':
                break;
            case 'unix':
                break;
            case 'aix':
                break;
            
            default:
                $this->forWindows();
                break;
        }
        $temp_array = array();
        foreach ($this->return_array as $value) {
            if(preg_match("/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i", $value, $temp_array)){
                $this->mac_addr = $temp_array[0];
                break;
            }
        }
        unset($temp_array);
        return $this->mac_addr;
    }

    function forWindows(){
        @exec("ipconfig /all", $this->return_array);
        if($this->return_array){
            return $this->return_array;
        }else{
            $ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
            if(is_file($ipconfig)){
                @exec($ipconfig." /all", $this->return_array);
            }else{
                @exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);
            }
            return $this->return_array;
        }
    }

    function forLinux(){
        @exec("ifconfig -a", $this->return_array);
        return $this->return_array;
    }

}

//方法使用 
$mac = new getMacAddr(PHP_OS); 
echo $mac->mac_addr;

?>

cURL实现Get和Post请求的方法

private function https_request($url, $data = null){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}