配置计划任务每周一的11.12执行脚本/usr/test/1.bash
12 11 * * 1 /bin/bash /usr/test/1.bash
正则表达式验证邮箱
!preg_match(“/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+){1,3}$/”,$email)
传值和传引用的区别
按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。按引用传递则不需要复制值,对于性能提高很有好处。
SESSION 与 COOKIE的区别
1、http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同一个用户
2、SESSION存储在服务器端,COOKIE保存在客户端。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。
禁用cookie后,session不能正常使用。Session的缺点:保存在服务器端,每次读取都从服务器进行读取,对服务器有资源消耗。Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置文件的session.save_path指定。Session文件是公有的。
实现中文字串截取无乱码的方法。
mb_substr('中午ab希望',2)
PHP中如何判断一个字符串是否是合法的日期模式
date('Y-m-d H:i:s',strtotime($data)) == $data
数据过滤
做一般表单提交的时候完全可以用strip_tags去除html标签
htmlentities这个函数转换所有含有对应“html实体”的特殊字符,比如货币表示符号欧元英镑等、版权符号等
htmlspecialchars 只是把某些特殊的字符转义了, & " ' < >
缓存一致性问题
缓存更新套路:
失效:应用程序先从cache取数据,没有得到,则从数据库中取数据,成功后,放到缓存中。
命中:应用程序从cache中取数据,取到后返回。
更新:先把数据存到数据库中,成功后,再让缓存失效。
isset在什么适合返回false
检测变量是否已设置并且非 NULL
NULL
$arr['name'] 数组中没有这个key
empty 什么时候返回false
- "" (空字符串)
- 0 (作为整数的0)
- 0.0 (作为浮点数的0)
- "0" (作为字符串的0)
- NULL
- FALSE
- array() (一个空数组)
- $var; (一个声明了,但是没有值的变量)
判断上传文件类型是不是图片
$type = $_FILES['file']['type'];
if (strpos($mini, 'image') === false) {
return false;
} else {
return true;
}
补充:getimagesize($filename),此函数会返回图片尺寸,格式等,如果文件不是图片会返回false
返回:array(7) {
[0]=>
int(2976)
[1]=>
int(3968)
[2]=>
int(2)
[3]=>
string(26) "width="2976" height="3968""
["bits"]=>
int(8)
["channels"]=>
int(3)
["mime"]=>
string(10) "image/jpeg"
}