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'=>'手机号格式不正确'],
];
标签: 随笔
-
yii2表单验证方法
-
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 -
阿里云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




