其他技术文章
-
使用https,$_SERVER[‘HTTPS’]却不等于on?
目前有两台服务器,都是http和https协议共存。 但是部分程序遇到一些问题,因为PHP中有根据$_SERVER['HTTPS']来设置环境常量。 一台服务器可以拿到值为on,另…… -
git代码不变,删除所有commit记录
把旧项目提交到Git服务器上,会有很多以前的commit记录。 由于各种各样的原因,不希望在新的Git服务器上显示这些commit信息。 那如何删除这些commit记录,形成…… -
PHP_CodeSniffer规范WordPress代码
WordPress有自己的代码格式标准,与PHP-FIG的PSR标准不一样。 这对于用了主流框架来说,会有些不适应。 不过我们可以用PHP_CodeSniffer来检测格式,写出“标准”…… -
-
Ajax异步请求PHP服务器,无阻塞响应的解决方案
最近遇到一个小难题,用$.post、$.get、$.ajax请求PHP服务器时,总是无法异步返回数据。 经实验,得到这样的结论: 不同浏览器,请求不同域名-不阻塞:无需实…… -
PHP DOM XPath获取HTML节点方法大全
PHP的有些技巧可能大家并不常用到,比如DOM相关的对象。 这些方法几乎和Javascript一样的方便,轻松一句就能获取到HTML DOM节点的数据。 相比于使用正则表达式…… -
表单中input name属性有无[]的区别
Form提交有个小技巧,应用中灵活使用可以起到事半功倍的效果。 这个技巧就是input数组提交。 1 input数组 如下一个表单: <input type="text" name="userna…… -
使用Yaf中的插件
Yaf支持用户定义插件来扩展Yaf的功能, 这些插件都是一些类. 它们都必须继承自Yaf_Plugin_Abstract. 插件要发挥功效, 也必须现实的在Yaf中进行注册, 然后在适当…… -
PHP正则表达式获取SQL语句中的表名
有一个SQL语句集合,里面可能有select、select ... left join、update、delete、insert。 要从这语句集合中获取到所有的表名,该如何做呢? 代码如下, <?p…… -
Javascript和PHP base64加密解密实现(支持中文)
1 问题 最近遇到一个问题,前端提交的HTML模板一直无法保存,但是前端的jQuery显示已经提交。 后来一步步调试才知道,表单提交到后台时,有一层封装好的PHP基…… -
PHP和JavaScript正则匹配所有字符(包括换行符)的差异
在PHP和JavaScript中,正则表达式匹配所有字符(包含换行符)是不一样的。 假设有这样的字符串: Hello, PHP, JavaScript 现在,我们要从里面中找出后面两行,…… -
-
Yii2查询之where条件拼装
熟悉Yii2的查询条件后,用Active Record查询数据非常方便。 以下我们介绍where()方法当中,条件的拼装方式。 1 语法 Yii2用where()方法(当然还有其他方法)来…… -
Composer速度慢解决办法汇总
1 使用中国镜像 2.1 系统全局使用 也就是将配置信息添加到 Composer 的全局配置文件 config.json 中,命令: composer config -g repo.packagist composer htt…… -
Nowdoc和Heredoc区别
Nowdoc和Heredoc是PHP中两种不同的字符串处理方式。 Nowdoc就像单引号,不会解析字符块中的变量。 Heredoc就像双引号,执行时会解析字符块中的变量。 如下的例…… -
-
jQuery优雅Post提交
本功能实现: 禁用form原本提交方式; 自动获取action属性; 自动serialize数据; 提交状态显示到提示框,1.2秒提示框自动消失; 提交失败或错误,页面不跳转…… -
Windows后台启动、停止和重启WNMP脚本
WNMP,是PHP开发环境的简称,即在Windows系统下安装Nginx、MySQL、PHP三个软件。 通过DIY安装WNMP后,要一个个启动、停止和重启这几个软件就比较麻烦。 而且PH…… -
XDebug+Webgrind之PHP程序分析
XDebug的性能分析功能会输出一堆数据文件,这些文件如果手动查看,很难筛选出有用信息。 而Webgrind则可以解析XDebug数据,显示在浏览器上。 所以这两个工具结…… -
UMLet使用教程
UMLet是一款简单易用、免费、开源的UML建模工具。它能够快速的构建UML类图、序列图、活动图等,并且可以将原型导出为bmp、gif、eps、pdf、jpg、png、svg等格式…… -
单例模式设置和和获取配置项
要在全局中保证读取到的值唯一,使用单例模式是较好的选择,实现代码: class Config { // 声明$instance为私有静态类型,用于保存当前类实例化后的对象 priva…… -
git撤销commit的三个方法
撤销commit有很多方法,个人比较推荐用 reset 或 rebase -i,底下将会同时介绍 revert 和 reset 的方法。 commit 如下 A -> B -> C -> D -> E 想…… -
Gitbook快速简明教程
Gitbook是一款Markdown编辑器,也是一个在线的内容写作网站。使用Gitbook编辑器(也可以是别的Markdown编辑器)编写的内容,可以同步备份到 gitbook.com 官网…… -
git强制pull代码,放弃本地修改
解决方法: git fetch --all git reset --hard origin/master git fetch只是下载远程的库的内容,不做任何的合并。 git reset把HEAD指向刚刚下载的最新的版本。 -
PHP获取客户端IP地址
先上代码,再解析: /** * 获取客户端IP */ function getClientIp() { $ip = 'unknown'; $unknown = 'unknown'; if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])……