如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
<?php // 1 date_default_timezone_set("PRC"); echo date('Y-n-d H:i:s');//2018-3-04 10:57:29 echo "<br>"; echo date('Y-m-d H:i:s');//2018-03-04 10:58:30 echo "<br>"; // echo date('Y-m-d h:i:s'); echo "<br>"; // 2 //字符串转数组 str_split(string) explode(delimiter, string) //数组转字符串 implode(glue, pieces) //字符串截取 substr(string, start) mb_substr(str, start) //字符串替换 str_replace(search, replace, subject) preg_replace(pattern, replacement, subject)正则替换 //字符串查找 第一个strpos(haystack, needle) 最后一个strrpos(haystack, needle) preg_match(pattern, subject) preg_match_all(pattern, subject, matches) // 截取路径中的文件部分/路径部分 $str = 'www/a/index.html'; echo strrpos($str, '/');//5 echo "<br>"; echo substr($str, strrpos($str, '/')+1);//index.html //路径部分 echo "<br>"; echo substr($str, 0,strrpos($str, '/'));//www/a echo basename($str);//文件名 echo dirname($str);//目录 // 3.解释 /* protected 受保护的 用来修饰类的属性和方法,展现了类3大特性中的封装特性 本类,子类可使用,外部不能使用 public 公有的 都能使用 private 私有的 只有本类能使用 interface 接口 抽象到极限就是借口 只含有抽象方法 abstract 抽象类 含有任意一个抽象方法的类 没有方法体{}的方法叫抽象方法 final 最后的类和方法 不能修饰属性 最后一个版本,不能再有子类 static 静态方法和属性 不能修饰类 属于类但并不依附于对象 类名::方法名 -------不用再new了 */ // 4.'08/26/2017'转换成 2017/08/26 echo "<br>"; $date='08/26/2017'; echo preg_replace('/(\d+)\/(\d+)\/(\d+)/', '$3/$1/$2', $date);//2017/08/26 // echo preg_replace('/(\d+)\/(\d+)\/(\d+)/', '${3}/${1}/${2}', $date);//2017/08/26 echo "<br>"; //5 // login表中包含admin字段的前10条结果 $sql= "select * from login where name like '%admin%' limit 10 order by id"; //6解释 /* 左连接left join(常用) 关键词left join 适用于多表查询 以左表为主导,全部查出来,对应右边的,没有的则null 右连接right join 以右表为主导 内连接inner join 直接查找,不关联的则不查,类似于普通多表查询,只查找相关的 select * form user inner mas on user.id=mas.user_id 索引index 加入索引,提高检索速度,查找速度快 常见的有3种 主键索引,一个表一般只有一个主键索引,一般用于id 唯一索引,每一列都可以有唯一索引,可用于id,一般不用(一旦用了,值不能重复,否则报错) 普通索引,每一列都可以有普通索引 alert table t1 add index in_name alert table t1 drop index in_name 如果不添加索引,有多少行,查找多少行,直至找到,影响行数为n 使用索引,影响行数为1 数据库优化第一点就是索引优化 */ //7 // 无限分类原理 /* id name pid path 通过pid找到他的父类 */ //8 // 高效的从url中取出文件扩展名 // http://www.wangmingchang.com/a/ab/dsf/我是网页2321.php $str= 'http://www.wangmingchang.com/a/ab/dsf/我是网页2321.php'; echo "<br>"; // echo substr(basename($str), strrpos(basename($str), '.'));//.php // var_dump(pathinfo($str)); // 输出如下: // { // ["dirname"]=> string(38) "http://www.wangmingchang.com/a/ab/dsf" // ["basename"]=> string(20) "我是网页2321.php" // ["extension"]=> string(3) "php" // ["filename"]=> string(16) "我是网页2321" // } $a = parse_url($str); // var_dump($a); //输出如下 // { // ["scheme"]=> string(5) "https" // ["host"]=> string(21) "www.wangmingchang.com" // ["path"]=> string(30) "/a/ab/dsf/我是网页2321.php" // } $b = $a['path']; echo "<br>"; var_dump(pathinfo($b)); // parse_url(url); 用于url //pathinfo() 用于文件 echo "<br>"; //9 // 解释mvc // 开发模型,实现mvc分离,尤其是视图层与逻辑层的分离 // m 数据模型,对数据库进行增删改查 // v 视图层, // c 控制器,逻辑的 //10 // 大流量高并发网站的解决方案(省略) //大流量带来高并发 // 每秒2万,高并发,,1天17.2亿流量 //web服务器的事 /* 1台服务器 阿帕奇---3000到4000 多台服务器使用 ---负载均衡(多个服务器平均分担流量) 集群是为了,你挂了我上 服务器优化技术 第一 可以设置dns负载均衡,分流到各个服务器中 第二 负载均衡器(lvs) 第三 集群服务器 第四 web服务器要采用nginx 可同时顶住2万 第五 静态缓存 (PHP源代码转成html) 第六 数据缓存 (tp转换成文件缓存,memcache内存,redis内存) 第七 内存数据缓存(memcache内存,redis内存) 第八 数据库 (索引) 第九 磁盘阵列技术 */ //12防sql注入 /* 防sql注入 表单尽量用post,表单判断控制用get get快但不安全,有大小限制1k左右 $_SERVER[HTTP_REFERER]判断提交者源头 pdo中加入预处理 密码md5加密 sql语句 开启addslashe, (values中,特殊符号带反斜杠转义) insert into t1('name','title')values('dasdsa','sdsadsads') 防盗链 1>服务器上防止 利用web服务的中的rewrite重写功能阻止盗链 2>代码防止 $_SERVER[HTTP_REFERER] */ //13 // PHP写一个安全的用户登录系统注意哪些方面 /* 域名要使用https post提交 验证码 限制登录错误次数 密码不能ctrl+v(防止快捷键) u盾 手机验证 */ //14 PHP框架,及功能特点 /* yii框架 大型项目 Zend 大型项目 官方产品 CI 快速开发框架,功能需要自己写,非完全模版PHP分离 tp larval tp功能丰富, */ //15 // 使用过那些版本控制器 /* svn 适合团队开发 功能少 git */