标签: 随笔

  • yii2表单验证方法

    return
    [
    [['username','password','email','phone','images'],'required','message'=>'不能为空'],
    //验证唯一性
    [['username'], 'unique','targetClass' => '\backend\models\Verification','message'=>'用户名不能一致'],
    //验证长度
    ['username', 'string', 'min' => 2, 'max' => 8,"tooLong"=>"太长了", "tooShort"=>"太短了"],
    //正则验证
    ['username','match','pattern'=>'/^[a-z]{1,}$/','message'=>'用户名必须为字母'],
    ['password','match','pattern'=>'/^[0-9]{6,12}$/','message'=>'密码必须是数字,且大于6为小于12位'],
    ['email', 'unique', 'targetClass' => '\backend\models\Verification', 'message' => '邮箱名已存在.'],
    //邮箱验证
    ['email','match','pattern'=>'/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/','message'=>'邮箱格式不正确'],
    //手机号验证
    ['phone','match','pattern'=>'/^1[0-9]{10}$/','message'=>'手机号格式不正确'],
     ];
    
  • PHP 模拟post进行url请求 并输出返回内容

         /**
         * 模拟post进行url请求
         * @param string $url
         * @param string $param
         */
        function request_post($url = '', $param = '') {
            if (empty($url) || empty($param)) {
                return false;
            }
            
            $postUrl = $url;
            $curlPost = $param;
            $ch = curl_init();//初始化curl
            curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
            curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
            curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
            curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
            $data = curl_exec($ch);//运行curl
            curl_close($ch);
            
            return $data;
        }

     

  • 获取URL跳转后的真实URL

    获取文件或跳转后的真实URL地址
    第一种方法

    function getrealurl($url){
    $header = get_headers($url,1);
    if (strpos($header[0],'301') || strpos($header[0],'302')) {
        if(is_array($header['Location'])) {
            return $header['Location'][count($header['Location'])-1];
        }else{
            return $header['Location'];
        }
    }else {
        return $url;
    }
    }
    //使用方法 
    echo getrealurl($url);
    

    第二种方法CURL

    function curl_post_302($url,$data=null) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 获取转向后的内容 
        $data = curl_exec($ch);
        $Headers = curl_getinfo($ch); 
        curl_close($ch);
        if($data != $Headers){ 
            return $Headers["url"]; 
            }else{
                return false;
            }
    }
    //使用方法
    echo curl_post_302($url);
    
  • PHP 截取两个指定字符中间内容

    适合采集等程序使用

    function intercept_str($start,$end,$str)
    {
    if(empty($start)||empty($end)||empty($str))return "参数不正确";
    $strarr=explode($start,$str);
    $str=$strarr[1];
    $strarr=explode($end,$str);
    return $strarr[0];
    }
    //使用方法
    echo intercept_str('www.','.com','www.dj3w.com') //将返回'dj3w
    
  • 搞笑猫咪动态图

    搞笑猫咪动态图

     

    那个猫咪肯定放屁了
    那个猫咪肯定放屁了
    喵星人守门也蛮拼的
    喵星人守门也蛮拼的
    当年劳资就是这样弯弓射大雕滴
    当年劳资就是这样弯弓射大雕滴
  • 怪不得总听人家说,西藏可以洗礼一个人,现在我终于相信了?

    怪不得总听人家说,西藏可以洗礼一个人,现在我终于相信了?

    怪不得总听人家说,西藏可以洗礼一个人,看前后对比图,现在我终于相信了?

    wpid-1440510926.jpg

  • 阿里云CentOS服务器挂载数据盘

    在这个网站比访客都要多的年代,做网站要考虑怎么节省,因为真是一分钱的盈利也没有呀!
    以前用的是Windows的系统,听朋友说Linux占用内存小,而且效率要高一些,还稳定,当时我心头一热就买了一台阿里云,装了Centos 买了20G的数据盘。
    刚刚接触Linux 所以万事靠笔,先记下咋挂载数据盘。
    阿里云Linux云服务器数据盘默认是未做分区和格式化的,使用前需要先挂载数据盘。
    第一步:查看数据盘在没有分区之前使用 df -h命令,是无法查看到数据盘的,可以用

    fdisk -l
    

    第二步:对数据盘进行分区:执行fdisk /dev/xvdb命令对数据盘进行分区,根据提示,依次输入“n”、“p”、“1”、两次回车,“w”,分区。

    fdisk /dev/xvdb
    

    第三步:查看新的分区使用fdisk -l命令可以看到,新的分区 xvdb1 已经建立完成了。

    fdisk -l
    

    第四步:格式化新分区使用mkfs.ext3 /dev/xvdb1命令对新分区进行格式化,格式化的时间根据硬盘大小有所不同。

    mkfs.ext3 /dev/xvdb1  或  mkfs.ext4 /dev/xvdb1
    

    第五步:添加分区信息使用echo ‘/dev/xvdb1 /mnt ext3 defaults 0 0’ >> /etc/fstab命令写入新分区信息。

    echo '/dev/xvdb1              /www                    ext3    defaults        0 0' >> /etc/fstab
    或
    echo '/dev/xvdb1              /www                    ext4    defaults        0 0' >> /etc/fstab
    

    第六步:cat /etc/fstab命令查看,是否写入成功。

    cat /etc/fstab
    

    第七步:使用mount -a命令挂载新分区,然后用df -h命令查看,出现 /dev/xvdb1 那一行就说明挂载成功,可以开始使用新的分区了。

    mount -a
    df -h