03 2017 档案
摘要:META标签用来描述一个HTML网页文档的属性 META标签可分为两大部分:HTTP-EQUIV和NAME变量。 HTTP实例 HTML代码实例中有一项内容是 其作用是指定了当前文档所使用的字符编码为gb2312,也就是中文简体字符。根据这一行代码,浏览器就可以识别出这个网页应该用中文简体字符显示。类似地,如果将"gb2312"换为"big5",就是我们熟知的中文繁体字符了。 HTTP...
阅读全文
摘要:password_hash ( string $password , integer $algo [, array $options ] ) 加密,生成60位得字符串 $algo:一个用来在散列密码时指示算法的密码算法常量, $options:有两个值,第一个cost值加密的程度,值越高消耗内存越大,默认为10,第二个salt哈希密码的盐值(salt)。这将避免自动生成盐值(salt) pass...
阅读全文
摘要:无乱码截取中文字符 /** * utf8编码字符串截取无乱码 * @param $str * @param $start * @param $len * @return string */ function sub_str($str, $start, $len){ //数组字符 $str_array = preg_split('//u',$str,-1,PREG_SP...
阅读全文
摘要:创建多级目录 //创建多级目录 $path = "./first/two/three"; if(is_dir($path)){ echo "已存在相同目录"; exit(); } if(mkdir($path,0777,true)){ echo '创建目录成功'; } 冒泡排序 一个数组 $arr = array(30, 2, 36, 14, 10, 25, 23, 85, 2...
阅读全文
摘要:(^\s)|(\s$)这个正则表达式作用是:__________ 匹配以0个或多个空白符开头或者0个或多个空白符结尾的字符串 编写函数取得上一月的最后一天 function last_month_lastday($date = "") { if (empty($date)) { $date = time(); } else { $date=strto...
阅读全文
摘要:写一段PHP代码,确保多个进程同时写入同一个文件成功 $fp = fopen('slq.sql',"r+"); $time = time(); $wait_time = 0; while (!flock($fp,LOCK_EX)){ //获取独占锁,写入程序 return bool sleep(10); $wait_time = time(); i...
阅读全文
摘要:smarty 原理 Smarty是一个模板引擎,主要是为了使业务逻辑与视图分离。如果不用Smarty,则视图中会嵌套很多PHP逻辑代码,显得比较混乱。 Smarty调用display时会读取模板文件,进行数据替换,进行编译文件,以后每次访问都会直接访问编译文件,从而减少了读取模板文件和字符替换时间,编译文件里时间戳记录模板文件修改时间,如果模板被修改过就可以检测到,然后重新编译(编译是把静态内容保...
阅读全文
摘要:echo 、print、print_r、var_dump区别 echo 和print是语言结构不是函数, 只能打印出string 和 int int print(string $arg]) 既然是语言结果,一次打印就没有必要加括号(print) print_r 只有两个参数,第二个参数用于判断是否要输出(TRUE 捕获),能打印出结构 ,且有返回值,记住,pri...
阅读全文
摘要:1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误 双引号解释转义字符,单引号不解释转义字符,但是解释'\和\\ 能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍...
阅读全文
摘要:17、isset、empty、is_null的区别 isset 判断变量是否定义或者是否为空 变量存在返回ture,否则返回false 变量定义不赋值返回false unset一个变量,返回false 变量赋值为null,返回false empty:判断变量的值是否为空,能转换为false的都是空,为空返回true,反之返回false。 "",0,"0",NULL,FAL...
阅读全文
摘要:__sleep:在serialize被调用时,被自动的调用 __wakeup:在unserialize别调用时,被自动的调用,可用于做对象的初始化操作 class A { public $var; //serialize时被调用,当你不需要保存大对象的所有数据时很有用 public function __sleep() { echo '__s...
阅读全文
摘要:Yii2中的 Class yii\web\User 是如果进行验证登录,如果我们使用User类验证登录会给我们减少很多麻烦。在此就拿Yii2中自带的登录功能进行说明。 配置。在应用配置文件components中添加user组件,默认是配置好了,不过可以自己配置的后台登录功能。 'user' => [ 'identityClass' => 'app\models\User', // U...
阅读全文
摘要:ACF ( Access Control Filter) ACF ( Access Control Filter)官网的解释就是一个可以在模型或控制器执行行为过滤器,当有用户请求时,ACF将检查access rules (权限规则),在决定是否让这个用户请求这个行为。 在控制器中使用 public function behaviors() { return [ ...
阅读全文
摘要:客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下。服务器接受到该请求以后,马上运行该down.php文件运行该文件的时候,必然要把将要被下载的文件读入内存当中(这里是圣诞狂欢.jpg这张图片),这里通过fopen()函数完成该动作注意:任何有关从服务器下载的文件操作,必然需要先在服务端将文件读入内存当中 现在文件已经在内存...
阅读全文
摘要:在PHP后端和客户端数据交互的过程中,JSON数据中有时格式不定,一会儿是数组,一会儿是对象,弄得客户端开发人员要崩溃的感觉。 因此,前后端相关人员先对PHP的json_encode函数原理有必要的了解是最重要的一个环节。 PHP中的array是个万能的数据结构,并不像其它语言根据需要的场景会定义很多约束性的数据类型来描述结构,所以PHP程序员是很难给客户端人员讲清楚返回的是什么结构的数据的。 也...
阅读全文
摘要:先来测试一下吧: if(0 ==''){ echo '在PHP中0 ==\'\'' ; } if(0 !==''){ echo '在PHP中0 !==\'\'' ; } if(0 ==false){ echo '在PHP中0 ==false' ; } if(0 !==false){ echo '在PHP中0 !==false' ; } if(0 ==nu...
阅读全文
摘要:用法:explain sql语句; id:查询的序号。 ref:进行连接查询时,表得连接关系。可以通过上图看出。 select_type:select查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询。有simple(不含子查询)和primary, primary可分为 subquery(非form子查询)、derived(from子查询)、union、union result。...
阅读全文
摘要:类型选择 一般是按 int > date ,time > enum ,char > varchar > blob , text 进行选择 。 类型优劣说明: int : 定长,没有国家、地区之分,没有字符集(考虑字符集与校对集)的差异。 time :定长,运算快,节省空间,考虑时区。 enum:整形,定长,能起到约束类型的作用,内部实际是用整形存储,但与char联合查询时,内部要经历值...
阅读全文
摘要:伪哈希技巧 使用一个函数 crc32($string),能把一个字符串转化为32位整数。 $checksum = crc32("The quick brown fox jumped over the lazy dog."); printf("%u\n", $checksum); //2191738434 把整形数据保存到数据中肯定比直接保存字符串要快得多。 多列索引时要考虑因数 查询频率 列区...
阅读全文
摘要:索引覆盖:如果查询的列恰好是索引的一部分,那么查询只需要在索引文件上进行,不需要进行到磁盘中找数据,若果查询得列不是索引的一部分则要到磁盘中找数据。 建表: create table test_index( id int primary key auto_increment, name char(10) not null default ``, email char(10) not null ...
阅读全文
摘要:现在我们就要通过这种方法来实现实时通信,先说一下原理: 客户端发起一个ajax长链接查询,然后服务端就开始执行代码,主要是检查某个文件是否被更新,如果没有,睡一会(sleep),醒来接着检查 如果客户端又发起了一个正常请求),服务端收到后,处理请求,处理完毕后,这时醒来长链接查询继续查找。 //防止请求超时 set_time_limit(0); //打开输出缓冲控制 ob_start(); $p...
阅读全文
摘要:HTTP防盗链 通过上一次,我没对HTTP请求不再那么陌生了。防盗链无非就是别人来请求自己网站的信息,用于其他网站,那么如果我们能识别请求是来自那个网站,如果是外网,那么就重定向等其他处理。但在web服务器层面,服务器根据HTTP协议的Referer头信息来判断该请求是来自外网还是内网。到此基本了解原理。接下来进行操作。 加载重写模块 apache配置文件中去掉重写模块前 # 在需要防盗...
阅读全文
摘要:HTTP消息结构 客户端请求包括四部份:请求行(状态行)、请求头、空行、请求主体(数据),如下图: 服务端响应包括四部份:响应行(状态行)、响应头、空行、响应主体(数据),如图: HTTP请求方法: POST 、GET 、HEADE、 PUT、 TRACE 、DELETE 、OPTIONS 、CONNECT (前三种最实用),有这麽多的请求方法,但web服务器不一定所有的都支持。 ...
阅读全文
摘要:MySQL导入出文本文件只能到处数据,不能到处结构,不过也算备份数据一种方法。 导入文本文件 在此像导入csv文件 也是类似 load data local infile 'd:/insert.txt' into table test; 文本文件,注意:默认字段之间的用 tab键做空格,如果字段为空用 \N 代替 李四 \N \N 45 导出文本文件 在导出时可能存在问题: 提示错...
阅读全文
摘要:通过查找资料对PDO有了一定的了解,PDO(PHP Data Object )为PHP数据对象,为PHP访问数据库提供了一个轻量级的借口,但PDO本生不能实现访问数据库的任何功能,只能通过数据库的PDO驱动来访问数据库。 预定义与常量 常量在编译PHP或在运行时动态载入时可用。 PDO::FETCH_ASSOC (integer) 指定获取方式——返回关联数组 PDO::FETCH_NUM (i...
阅读全文
摘要:sqlite是一种比较轻型的嵌入式数据库,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式。SQLite是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite是一个增长最快的数据库引擎,这是在普及方面的增长,与它的尺寸大小无关 安装教程
阅读全文
摘要:Table of Content {$var} {$append} {assign} {block} {call} {config_load} {debug} {extends} {for} {foreach},{foreachelse} {function} {if} {elseif} {else} {include} {include php} {insert} {ldelim} {rde...
阅读全文
摘要:foreach and foreachelse篇 foreach用于遍历数组,可以是非关联数组,与section相比要简单些,在smarty3中可以接受没有名称的属性,也可以使用smarty2有名称的属性。与{section}*(只能循环连续的索引数组)相比较,{foreach}可以做任何{section}可以做到的因此也推荐使用{foreach} 可以嵌套循环 当foreach的值为空时,...
阅读全文
摘要:你可以联合使用多个修饰器。 它们会按复合的顺序来作用于变量,从左到右。 它们必须以| (竖线)进行分隔,以‘:’号设置参数
阅读全文
摘要:再使用配置变量前要 引入配置变量即:{$config_load file=‘file_path’}$marty3中可以从配置文件中 用 # 号包起来引用配置文件中的变量({#config_var_name#}),或者通过Smarty变量 $smarty.config.config_var_name
阅读全文
摘要:变量修饰器可以用于变量, 自定义函数或者字符串。 使用修饰器,需要在变量的后面加上|(竖线)并且跟着修饰器名称。 修饰器可能还会有附加的参数以便达到效果。 参数会跟着修饰器名称,用:(冒号)分开。 同时,默认全部PHP函数都可以作为修饰器来使用 (不止下面的),而且修饰器可以被 联合使用。 这是Sm
阅读全文
摘要:Git代码状态转换图(网上找的) 创建git库 git init //初始化版本 unstage状态 注册用户信息 git config –global (local) user.name you_name git config --global(local) user.email you_emai
阅读全文
摘要:运行如下命令,拷贝出pagination样式到public/vendor目录下, 然后在pagination实例上调用links(‘传路径’)方法 使用起来非常方便,同时也可以自定义样式
阅读全文
摘要:创建模型 post and user 以及 users , posts ,user_post(favorities)测试数据 在此可以看上一篇中的数据,本次测试数据利用的上一篇的数据。detach and attach method 在很多地方 都可以用到 而且非常方便,不用自己查询数据库后在判断是
阅读全文
摘要:创建Post and User模型 创建posts and users 表文件 在表文件设置表结构 生成posts and users and notifications表 创建测试数据 先在database/factories/ModelFactoy.php中设置需要的数据类型 再执行命令 创建N
阅读全文
摘要:wampserver3.*下载了好几天一直没有安装,今天发现必须安装,已升级自己的php版本,不过也饿可以自己手动配置PHP版本,既然有安装包就算了吧,当安装完后,发现忘记备份自己的数据库了,幸好之前安装的没有卸载,而且PHP版本也是之前的,这就纳闷了。怎么办??? 卸载安装的新版本 重启之前的版本 发现两个服务器都无法 正常启动 , 单独启动单个服务时 ,提示在在C盘...
阅读全文

浙公网安备 33010602011771号