php
湘道
路漫漫其修远兮,吾将上下而求索!
展开
-
10个鲜为人知但非常有用的PHP函数
转载自我赢职场来文史特距离(字符串相似性)$str1 = "aaa";$str2 = "aaab";echo levenshtein($str1, $str2); //输出2?>它可以计算出 字符串str1和字符串str2 之间相差几个字母。这个是php比较特色的函数,因为你用其他语言很可能要自己去实现来文史特距离的矩阵元算。2返回所定义的所有变量的数组转载 2016-10-13 17:12:14 · 1258 阅读 · 0 评论 -
代码对比工具BCompare
由于项目的并行开发,git切换了几个分支,需要把一个分支的新功能的代码添加到原分支。但是原分支也有新开发的功能,所以需要对比代码差异,只要把不同的代码同步过来就行了。有同事推荐了BCompare这个工具。作为程序员有一款软件肯定不会错过,就是BCompare。BCompare全称是Beyond Compare是一款不可多得的专业级的文件夹和文件对比工具。1.到网上下载安装,绿色版本原创 2016-10-17 13:40:31 · 3096 阅读 · 0 评论 -
git把一个新分支内容覆盖到另一个旧分支
一般实际开发中,会使用到两个分支,一个分支进行新功能的开发,一个是现有版本维护的,比如bug修复等等。我们的主分支的master分支,在开发一个新功能的时候切除了一个新分支叫develop。新功能开发完后,develop分支比master分支的内容要新很多,现在需要把新功能代码合并到主分支master上面。以编辑器phpStorm为例1.在设置里找到git,勾选allow原创 2016-12-30 18:34:25 · 5087 阅读 · 2 评论 -
php如何判断一个字符串是不是base64编码
因为以前的数据是没有经过base64编码的,后来由于要兼容Emoji表情和颜文字,改成base64编码后再保存。所以在页面显示的时候需要判断是不是经过base64编码过的。谷歌了一下,网上比较普遍的方法是先base64_decode,然后base64_encode,再看这个和原字符串是不是相等。但是这个方法不能百分之准确的判定。 function checkStringIsBa原创 2016-11-12 14:22:17 · 11375 阅读 · 1 评论 -
字符Base64加密后的长度变化
问题:文字中包含了emoji表情,公司数据库版本较老,utf-8无法存储emoji这种四个字节的字符。所以解决方案是将文字转换成base64后存入。MySQL要对字段长度进行限制,需要知道原文本长度与base64加密后文本长度的比例。所谓Base64,就是说选出64个字符—-小写字母a-z、大写字母A-Z、数字0-9、符号”+”、”/”作为基本基础集的编码方式。base64加密原理:原创 2016-10-29 17:11:02 · 12621 阅读 · 0 评论 -
iTop系统使用手册
转载于:http://www.jianshu.com/p/94a115746514目录CMDB概述iTop系统概述iTop功能操作3.1. 配置管理3.2. 变更管理3.3. 事件管理3.4. 问题管理3.5. 服务管理1. CMDB概述随着信息技术的发展, IT系统已经成为企业业务发展不可或缺的支撑基础。IT运维管理系统是以CMDB为核转载 2017-09-07 11:56:14 · 12407 阅读 · 1 评论 -
PHP中array_chunk的用法
转自:http://cn2.php.net/manual/zh/function.array-chunk.php(PHP 4 >= 4.2.0, PHP 5)array_chunk — 将一个数组分割成多个说明array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )转载 2016-10-12 10:57:00 · 599 阅读 · 0 评论 -
php开发中处理emoji表情和颜文字的兼容问题
背景:现在移动开发很火爆,已经远远超过了pc端。在移动设备经常会发生用户发送的内容中包含emoji表情,在显示时就是乱码。一般是因为Mysql表设计时,都是用UTF8字符集的。把带有emoji的昵称字段往里面insert一下就没了,整个字段变成了空字符串。这是因为Mysql的utf8字符集是3字节的,而emoji是4字节,这样整个昵称就无法存储了。现在介绍在PHP开发中涉及到emo原创 2016-10-27 10:50:59 · 7839 阅读 · 0 评论 -
利用HSTS安全协议柔性解决全站HTTPS的兼容性问题
一、HSTS协议这里我们要借助一个新的安全协议:HSTSHSTS(HTTP Strict Transport Security)国际互联网工程组织IETE正在推行一种新的Web安全协议,作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。主要目的是为了解决HTTPS网站首次请求时使用的是未加密的HTTP协议,也就说用户一般访问我们的网站都是直接在浏览器输入域名,比如 zhang转载 2017-11-15 10:53:27 · 863 阅读 · 0 评论 -
nginx开启stub_status模块配置方法
Nginx开启stub_status模块配置方法:1)查看nginx时候有安装该模块。/usr/local/nginx/sbin/nginx -V注意是大写的V,小写的v是查看版本信息的有这个模块,说明已加安装了。2)安装stub_status模块(注意:有的话可以忽略此步骤,就不用安装了)nginx有一个统计功能模块,编译安装的时候加上参数 "原创 2017-12-13 15:57:29 · 20914 阅读 · 0 评论 -
parse_ini_file解析ini配置文件的效率和直接require Array效率的比较
针对ini格式的txt文件(PHP程序开发中框架的配置文件喜欢使用这种格式),php有一个自带的函数:parse_ini_file来解析成数组。现在比较一下两者的效率:1. parse_ini_file解析ini配置文件2.require Array的php配置文件3. 同等条件下,通过比较直接require Array比parse_ini_原创 2018-01-11 20:08:34 · 1454 阅读 · 0 评论 -
APP架构设计经验谈:接口的设计
转载:http://keeganlee.me/post/architecture/20160107App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉。安全机制的设计现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,转载 2017-12-07 13:50:16 · 427 阅读 · 0 评论 -
2个比较经典的PHP加密解密函数分享
转载:https://www.cnblogs.com/wicub/p/6395349.html这篇文章主要介绍了2个比较经典的PHP加密解密函数分享,一个是Discuz!的authcode加密函数(带详细分解),一个是encrypt()函数,都比较经典,需要的朋友可以参考下 项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进...转载 2018-04-02 19:51:58 · 1249 阅读 · 0 评论 -
explode和preg_split的区别
在php函数中,一般分隔字符串会想到explode函数。但是这个explode的很有局限行。下面说一下我在实际开发中遇到的问题。有一个test.txt文件,有id,name,phone,id_card_number四列,里面的空格是不规则的。这个内容读出来以后,用explode函数是分隔不了的(因为是tab空格,而不是单个的字符串空格)。必须用preg_split函数才行。 functio...原创 2018-04-02 20:23:40 · 1168 阅读 · 1 评论 -
获取远程图片的宽、高和大小
方法一: function getImageinfo($url) { $result = array( 'width'=>'', 'height'=>'', 'size'=>'', ); $imageInfo = getimagesize($url);原创 2017-04-14 15:14:00 · 3893 阅读 · 2 评论 -
Yii框架gii的使用方法
1.打开 protected\config下的main.php ,找到以下这段代码:原来是注释了的,现在要去掉注释, 然后修改一下自己的密码, 如下:2.在地址栏输入 index.php?r=gii ,这里会打开gii登陆界面,输入上一步设置的密码。3.进来之后就可以 Model Generator 和 Crud Generator 的操作了原创 2016-12-26 16:16:10 · 1311 阅读 · 0 评论 -
php中get_headers函数的作用和用法
get_headers() 是PHP系统级函数,他返回一个包含有服务器响应 HTTP 请求所发送的标头的数组。如果失败则返回 FALSE ,并发出一条 E_WARNING 级别的错误信息(可用来判断远程文件是否存在)。函数定义array get_headers ( string $url [, int $format = 0 ] )参数url 目标 URLformat 如果原创 2017-04-13 19:20:23 · 3276 阅读 · 0 评论 -
图片文件转base64和base64转图片文件
一、图片文件转base64 function imgFileToBase64() { //$img = 'D:\xampp\git-new\wshifu-apps\service\assets\logo_new.png';//本地图片 $img = 'https://qncdn.wanshifu.com/237f4f2eebd1aea8原创 2017-04-14 13:39:32 · 11764 阅读 · 0 评论 -
如何设置phpstorm同一窗口能打开多个项目目录
最开始用的是sublime,是比较轻量级的文本编辑器,而且外表很酷。后来是用的netbeans,是支持一个窗口多个项目开发管理的。后来换公司用的是phpstorm,挺好用的,但是在使用phpstorm的过程中,发现每个项目都要单独的打开一个窗口,如果选择本窗口打开的话,之前在本窗口打开的项目就会被覆盖。这样对于多个有关联项目并行开发很不方便。那么,我们可以在设置里面操作如下:原创 2017-04-21 11:16:38 · 7631 阅读 · 2 评论 -
在自己的linux服务器上面部署ShowDoc
ShowDoc就是一个非常适合IT团队的在线文档分享工具,使用的是一款非常轻量级的关系数据库系统SQLite,支持多数SQL92标准。它可以加快团队之间沟通的效率。但是把所有的接口文档写在第三方的服务器上面,是不怎么安全的,所以想安装到自己的开发服务器上面,仅供内网访问。它都有些什么功能?1)分享与导出2)权限管理 公开项目与私密项目|项目成员3)编辑功能 包括markdown原创 2017-04-18 18:57:45 · 9109 阅读 · 1 评论 -
nginx只允许域名访问,禁止ip访问
背景:为什么要禁止ip访问页面呢?这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生。解决方法:这里介绍修改配置文件nginx.conf两种方法:1)在server段里插入如下正则:listen 80;server_name www.yuyangblog.net;i原创 2017-09-26 14:52:49 · 8567 阅读 · 2 评论 -
robots.txt 禁止收录协议的写法
1. 什么是robots.txt? robots.txt 是网站和搜索引擎的协议的纯文本文件。当一个搜索引擎蜘蛛来访问站点时,它首先爬行来检查该站点根目录下是否存在robots.txt,如果存在,根据文件内容来确定访问范围,如果没有,蜘蛛就沿着链接抓取。robots.txt 放在项目的根目录下。2. robots.txt语法 1) 允许所有搜索引擎访问网站的所有部分原创 2017-03-20 14:40:45 · 18241 阅读 · 0 评论 -
获取客户端真实的ip
在公司的一次投票的活动中,需要获取客户端的ip,并且保存在数据库。看ecshop的lib_base.php的时候里面获取客户端真实ip的函数(real_ip),所以就拿来主义用了。有许多情况的判断,主要判断客户端是否使用代理的情况,注意判断顺序,先判断客户端是否使用代理HTTP_X_FORWARDED_FOR。源码(来自ecshop源码)如下:function real_ip() { ...转载 2016-10-09 14:10:34 · 1013 阅读 · 0 评论 -
php中heredoc与nowdoc的区别
一、heredoc结构及用法Heredoc 结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义。其结构中的变量将被替换,但在 heredoc 结构中含有复杂的变量时要格外小心。其对格式化输出内容时,比较有用 。具体其有以下特点:1、开始标记和结束标记使用相同的字符串,通常以大写字母来写。2、开始标记后不能出现空格或多余的字符。3、结束标记原创 2017-09-12 20:19:23 · 927 阅读 · 0 评论 -
ipconfig/flushdns的使用
项目升级的时候,经常会停服,外部不能访问网站。内部开发和测试人员会绑定指定ip,并且在host文件增加这个指定ip域名解析。当测试完成,恢复以前的host文件,这时候刷新浏览器,可以没有变化,还是访问之前测试的ip.这有可能存在DNS解析缓存。这个时候可以使用ipconfig/flushdns命令清楚DNS解析缓存。如下图:ipconfig属于DOS命令,其实ifc原创 2016-10-12 09:45:05 · 8973 阅读 · 0 评论 -
人民币数字转中文币制
前段时间开发,遇到需求要把人民币数字转成中文币制显示。在网上找了一下没有,没有直接可以用的,于是就自己写了一下。格式举例:0.01 壹分1.02 壹元零贰分100 壹佰元整101 壹佰零壹元整101.01 壹佰零壹元零壹分101.21 壹佰零壹元贰角壹分101.2 壹佰零壹元贰角1000.01 壹仟元零壹分1001.01 壹仟零壹元零壹分1010 壹仟零壹拾元整数字:壹贰叁肆伍陆柒捌 玖单原创 2016-10-08 10:42:56 · 850 阅读 · 0 评论 -
电话号码生成图片格式
在信息时代,数据就是一种宝贵资源。公司网站的展示页有许多用户的手机号码,但是为了防止竞争对手采集电话号码信息或者说提高他们采集数据的难度。于是就有了电话号码以图片格式输出的这个需求。原创 2016-10-09 15:30:43 · 2799 阅读 · 0 评论 -
php判断字符串是否有包含乱码
判断一个字符串是否包含乱码:1:可以用正则匹配,但是你需要知道乱码大概包括的符号有那些。2. 运用黑魔法之json_encode( $string) === 'null'来判断。如果字符串中含有乱码,json_encode该字符串就会返回null。原创 2016-11-12 14:31:13 · 5563 阅读 · 0 评论 -
通过netcraft查询一个网站的服务信息
netcraft.com 可以查询到的大部分知名的网站的信息。比如网站是运行在什么服务器,用什么web服务器,甚至是网站在哪个机房。1.可以直接访问首页https://www.netcraft.com/,在网站右侧有一个入口,点击查询2.或者直接 访问https://searchdns.netcraft.com/这个网站进去3.输入想要查询的网址,确认提交,如果有查到会返回结果原创 2017-03-19 10:04:43 · 9186 阅读 · 1 评论 -
PhpStorm如何配置 PHP 语言的版本
【问题描述】一般来说,PhpStorm 中默认的 PHP 语言的版本是 PHP 5.6 ,PhpStorm 会以该 PHP 版本对编辑器中的文件进行自动校验。假如,我们在 PHP 文件中,使用了 PHP 7.0 的新特性(如 null 合并运算符 ??),那么,由于 PhpStorm 校验文件时无法识别该新特性,就会在对应位置显示一个警告标识(红色波浪线)。虽然,这并不会对我们使用 ...原创 2018-10-23 15:34:04 · 1856 阅读 · 0 评论