- 博客(22)
- 收藏
- 关注
原创 empty,is_null,isset, unset的区别总结
首先我们先看一下这四个函数的定义: empty 判断变量是都为空; is_null 判断变量是否为NULL; isset 判断变量是否已存在(已定义); unset 把变量删除(释放)掉; 以上4个函数,除了unset,剩余的都是判断函数。其中,is_null可...
2018-03-11 23:48:08 561 1
原创 利用phar扩展来节省空间
在java中有*jar(java archive)文档,它的本质是能将多个文件压缩到单个文件,类似于rar或zip文件包,但是jar或war可以作为应用来执行。在PHP5.3以后,PHP的phar扩展也可以实现java这样的档案共功能。它允许开发者创建或者操作PHP档案文件,也就是名称的由来——PHP archive。 例如在下面的代码中,它包含了两个文件:wild.php和...
2018-03-11 22:47:26 722
原创 项目上线代码操作规范总结
1,上线规则:(1)在测试机上的相应开发目录中进行开发,然后使用git提交到origin上相应的开发目录。 (2) 在本地把origin上代码与master目录代码进行合并,并提交。 (3) 在上线的目录中,更新master上最新的代码。(4)执行上线脚本,即代码上线。(5)上线结束,查看线上运行结果,有没有错误,以及对其他代码有没有影响。2,上线代码注意事项:(1)在测试机上编写代码,以及修...
2018-03-04 22:51:07 2955
原创 HereDoc与NowDoc
PHP的HereDoc以Linux系统的“原型文档”(here-document)语法为基础,它允许开发者在脚本中嵌入一段文本内容,如邮件模板,短信模板,HTML/JavaScript脚本等。 它是一种面向字符行的引用,所以定界符是针对行,而不是字符。起始定界符是当前行,结束定界符是一个指定字符的行。例如: <?php echo <<<H...
2018-03-04 19:28:36 447
原创 php访问url的四种方式
1、fopen方式 //访问指定URL函数 function access_url($url) { if($url=='') return false; $fp = fopen($url, 'r') or exit('Open url faild!'); if($fp){ while(!feof($fp))
2018-01-23 23:04:00 28049
原创 php对于浮点数的精确运算
我们在对浮点数进行 +-*/ 计算的时候,有时会遇到一些计算结果错误的问题,例如intval( 0.58*100); 打印结果是57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个bug。为什么出现这个bug?首先我们要知道浮点数的表示(IEEE 754:是IEEE二进位浮点数算数标准的编号),具体内容如下:浮点数,以64位的长度(双精度)为例,会采用1位符号位(E),
2018-01-22 23:17:31 3446
原创 JSON中的{}与[]的区别
一、JSON语法是JavaScript对象表示语法的子集。JSON数据的书写格式是:名称/值对。(1)数据在键值对中(2)数据由逗号分离(3)花括号保存对象(4)方括号保存数组二、JSON的值: (1)数字(整数或者浮点数) (2)字符串 (3)逻辑值 (true或false) (4) 数组 (5)对象 (6) null三、在 JSON里[]是
2018-01-22 00:23:51 35947 1
原创 MySql字符集的设置总结
1, 修改数据库字符集:ALTER DATABASE db_name DEFAULT CHARACTER SET character_name[COLLATE ...];2,修改表和所有字符列(char,varchar,text)的字符集:ALTER TABLE tb_name CONVERT TO CHARACTER SET character
2018-01-21 23:32:43 261
原创 php开发中处理emoji表情的问题
做与微信相关的开发,我们对于存储微信昵称必不可少。但是在处理微信昵称的时候,我们就会遇到一些麻烦,一般MySQL表设计时,都是用UTF8字符集的。当我们把带有emoji的昵称字段往里面insert时就没了,整个字段变成了空字符串。这是因为MySQL的utf8字符集是3字节的,而emoji是4字节,这样整个昵称就无法存储了。因此,我们要想支持emoji表情,可以通过以下3种方法处理:1,使用ut
2018-01-21 22:45:18 2631
原创 MySQL支持emoji表情的存储
MySQL支持emoji表情符号,首先需要MySQL版本大于5.5.3,且字符集需要设置为utf8mb4字符集。这是由于mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8的编码不支持存储emoji表情。 将Mysql的编码从utf8转换成utf8mb4的具体方法如下:(1) 修改mysql的配置文件my.cnf ;[clien
2018-01-15 00:22:58 749
原创 实现nginx反向代理
一,什么是反向代理: 反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。二,反向代理的主要作用: 目前web网站使用反向代理,除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务
2018-01-14 23:15:16 10216
原创 PHP函数urlencode()和rawurlencode()的区别
(1)urlencode 函数: 返回字符串,此字符串中除了 - _ . 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与application/x-www-form-urlencoded的媒体类型编码方式一样。(2)rawurlencode 函数:返回字符串,此字符串中
2018-01-14 21:02:23 2034
原创 call_user_func_array函数详解
call_user_func_array : 调用回调函数,并把一个数组参数作为回调函数的参数。说明:mixed call_user_func_array ( callable $callback , array $param_arr )把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入。返回回调函数的结果。如果出
2018-01-08 00:22:56 29951
原创 RediSearch的安装
RediSearch是一个高性能的全文搜索引擎,可作为一个RedisModule(扩展模块)运行在Redis(4.0以上版本)上。一、主要特性包括:(1) 简单,快速索引和搜索(2) 数据存储在内存中,使用内存-有效的自定义数据结构(3) 支持多种使用UTF-8编码的语言(4) 文档和字段评分(5) 结果的数值过滤(6) 通过词干扩展查询(7) 精确的短语搜
2018-01-07 23:18:06 6126 3
原创 2017个人年终总结
时光如梭,转眼间2017年已经过去,回首过去的一年,有成长,有失败,有欢乐,也有泪水.....,总之,可以说是“忙并收获着,累并快乐着”。2017年,是难忘的一年,对我而言,和公司一起经历了一次转型之痛。在这个过程中,我与公司的所有同事们没有畏惧,更没有放弃。我们始终相信彼此,并朝着目标一直前进。现在,所有的工作已经再次进入正轨,意味着,我们即将再次扬帆起航。我相信,终将有一天,我们会为自己当初的
2018-01-02 18:40:59 6782 2
原创 \r与\n以及\r\n的区别
\r是回车,英文是Carriage return,表示使光标下移一格。\n是换行,英文是New line,表示使光标到行首。\r\n表示回车换行。
2017-12-25 00:05:20 10871 2
原创 Git的操作命令总结
首先要了解以下四个概念:Workspace(工作区):新添加的,和修改的未add操作的。Stage(暂存区):add操作过后,会进入暂存区。Repository(本地仓库):commit操作后,会进入本地仓库。Remote(远程仓库):push操作后,会提交到远程仓库。
2017-12-24 18:23:48 197
原创 Mac 备忘录( Notes)里笔记被永久删除后的找回方法
找回方法:一,用 Finder 打开以下目录:~/Library/Containers/com.apple.Notes/Data/Library/CoreData/ExternalRecords/NotesV4/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX[32 位随机码]/ICNote/_records/此目录下有一些以数字编号的文件夹:
2017-12-18 00:23:10 9394 1
原创 正则表达式小结
一,常用的特殊代码代码/语法说明.匹配除换行符以外的任意字符\w匹配字母或数字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束
2017-12-17 23:54:06 237
原创 Git 的 .gitignore 配置规则
一,Git 的 .gitignore.文件是用于配置不需要加入版本管理的文件。.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,也以共享同一套忽略规则。1、配置语法: 以斜杠“/”开头表示目录; 以星号“*”通配多个字符; 以问号“?”通配单个字符 以方括号“[]”包含单个字
2017-12-11 00:08:20 1198
原创 搭建LNMP环境
一,Nginx安装部署安装Nginx前也有一些库需要下载,分别是pcre,zlib以及openssl。这里要说明的是下载这3个库的压缩包后,对其进行解压缩即可,无需安装。yum -y install gcc automake autoconf libtool make gcc-c++ glibc1,下载并解压pcre
2017-12-10 22:45:55 365
原创 我的Hexo+Github Pages部署个人博客
Hexo 是一个简单地、轻量地、基于Node的一个静态博客框架。通过Hexo我们可以快速创建自己的博客,仅需要几条命令就可以完成。发布时,Hexo可以部署在自己的Node服务器上面,也可以部署github上面。对于个人用户来说,部署在github上好处颇多,不仅可以省去服务器的成本,还可以减少各种系统运维的麻烦事(系统管理、备份、网络)。
2017-11-27 11:46:32 331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人