zoukankan      html  css  js  c++  java
  • PHP 碎片

    1. $_SERVER['REMOTE_ADDR'] cannot be modified by the user or via HTTP so you CAN trust it. -- 用这个可以有效防止别人跨站提交。
    2.  自己写的验证时间格式是否正式的函数:

    function checktime($time){
        $time = trim($time);
        if( empty($time) ){
            return false;
        }
        $regStr = "/^20d{2}-d{1,2}-d{1,2} d{1,2}:d{1,2}:d{1,2}$/i";
        if( !preg_match($regStr,$time) ){
            return false;
        }
        $arr = explode(' ',$time);
        $dateStr = $arr[0];
        $timeStr = $arr[1];
        $dateArr = explode('-',$dateStr);
        if( !checkdate($dateArr[1],$dateArr[2],$dateArr[0]) ){
            return false;
        }
        $timeArr = explode(':',$timeStr);
        $hour = intval($timeArr[0]);
        $minute = intval($timeArr[1]);
        $second = intval($timeArr[2]);
        if( $hour>24 || $minute>60 || $second>60 ){
            return false;
        }
        return true;
    }

     3.非常好用的调试方法:debug_print_backtrace,可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然。但这个方法是直接输出到页面的,虽然输出页面的东西可以用缓存得到,但也不方便。debug_backtrace,把结果保存到数组,方便很多。使用 debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); 简化输出。
     4.

    $_POST = array(
        'test' => 1
    );
    
    $_REQUEST = $_POST;
    $_REQUEST['test'] = 2;
    
    print_r($_REQUEST); 
    print_r($_POST);
    
    /*
    分别输出
    array(
        'test' => 2
    );
    array(
        'test' => 1
    );
    */
    $_POST = array(
        'test' => 1
    );
    
    $_REQUEST = &$_POST;
    $_REQUEST['test'] = 2;
    
    print_r($_REQUEST); 
    print_r($_POST);
    
    /*
    分别输出
    array(
        'test' => 2
    );
    array(
        'test' => 2
    );
    */

     5. 当循环(for)里面有 switch 而我又想用 continue 跳到下一个循环,谁知却是跳出 switch 。

    while(){
        switch(){
             case 1:
                 xxxx;
                 continue; //没有跳出循环,而是跳出了switch
        }
    }

     6.curl 的函数

    function curl_get($url, $data=array()){
        $ch = curl_init();
    
        $query = http_build_query($data);
        if(''!=$query) $url .= '?' . $query;
    
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    
        $result = curl_exec($ch);    
        curl_close($ch);
        return $result;
    }
    
    function curl_post($url, $post_data=array()){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
        $result = curl_exec($ch);    
        curl_close($ch);
        return $result;
    }
  • 相关阅读:
    硬件调试软件
    ICMP(Internet Control Message Protocol)
    算法网站
    下载安装
    netcat 实现端口转发
    mqtt 连接工具
    Linux(CentOS7)安装zip、unzip命令
    awk 两个字符串互换位置
    创建一个swift项目
    屏幕录制
  • 原文地址:https://www.cnblogs.com/chy1000/p/3495105.html
Copyright © 2011-2022 走看看