
PHP
文章平均质量分 77
海阳之新
这个作者很懒,什么都没留下…
展开
-
微信商户发放红包接口调试经验总结
准备工作1、开通服务号,然后通过认证;2、认证成功后,需要登录微信公众号,进入:服务-服务中心-商户功能,提交有关审核资料,准备好公司公章、运营人员身份证正反面、营业执照、财务资料等,提交后7个工作日内会给到审核结果;3、通过审核的公众号,将收到通知邮件,邮件中包含重要开发参数,这个时候要注意牢记申请时填写的邮箱地址。开发阶段需要进入两个地方获取或配置参数:登录微信公众原创 2016-02-29 21:20:17 · 2224 阅读 · 0 评论 -
【邂逅BUG】Namespace declaration statement has to be the very first statement in the script
Namespace declaration statement has to be the very first statement in the script 命名空间声明语句必须是脚本中的第一个语句如果头部有BOM信息,也会导致此错误提示!原创 2015-09-10 00:44:42 · 796 阅读 · 0 评论 -
【邂逅BUG】从imagecreatefromX图片创建函数引起的BUG的排查经验
问题公司的网站项目为了做到自动发布,需要给项目搬个家,换到了另一台服务器,但由于是LAMP环境没有配置好,导致一些问题。比如今早遇到的这个问题,登录网站在会员中心上传名片(使用了jQuery Jcrop裁剪插件),提示“Call to undefined function imagecreatefrom()”。解决思路由于笔者对图形处理函数不是太熟,百度了一把,发现实际上是原创 2016-03-02 11:40:00 · 1251 阅读 · 1 评论 -
PHP规范学习——PRS-1
基本代码规范本节我们将会讨论一些基本的代码规范问题,以此作为将来讨论更高级别的代码分享和技术互用的基础。RFC 2119中的必须(MUST),不可(MUST NOT),建议(SHOULD),不建议(SHOULD NOT),可以/可能(MAY)等关键词将在本节用来做一些解释性的描述。1. 概述源文件必须只使用 源文件中php代码的编码格式必须只使用不带字节顺序标记(B转载 2015-11-30 23:54:38 · 655 阅读 · 0 评论 -
PHP规范学习——PRS-0
PHP规范学习——PRS-0转载 2015-11-30 23:40:51 · 813 阅读 · 0 评论 -
Tail for php,php实现tail命令
监控文件变化,可以通过tail,inotify来实现,也可以通过awk转发变化的内容到外部命令中。下面是通过popen来调用系统命令,性能内存开销相对比较小。```php$handle = popen("tail -f /var/log/your_file.log 2>&1", 'r');while(!feof($handle)) {$buffer = fget转载 2015-11-30 23:35:47 · 887 阅读 · 0 评论 -
JQuery跨域请求实践
在做公司项目时,遇到跨域请求问题,例如:a.domain.com子域名请求domain.com主域名程序的问题,通常在JS里是不支持跨域请求的,但从JQuery1.2后getJSON方法支持跨域读取json数据,原理是利用一个叫做jsonp的概念。下面是实践内容,留作后用。jsonp的概念:个人理解是在前端代码里取一个回调函数名称作为参数传递到服务端,服务端用这个回调函数名将处理结果包裹起来,...原创 2015-12-11 20:41:15 · 495 阅读 · 0 评论 -
PHP大小写:函数名和类名不区分,变量名区分
PHP对大小写敏感问题的处理比较乱,写代码时可能偶尔出问题,所以这里总结一下。推荐大家始终坚持“大小写敏感”,遵循统一的代码规范。1. 变量名区分大小写 $abc = 'abcd'; echo $abc; //输出 'abcd' echo $aBc; //无输出 echo $ABC; //无输出2. 常量名默认区分大小写,通常都写为大写(但没找到能转载 2015-09-23 17:22:57 · 892 阅读 · 0 评论 -
在手机上通过代理与本地域名解析的形式访问本机
免费代理软件:WProxyWProxy是一款运行在windows系统上的代理服务器软件,可以给局域网的其他电脑提供代理上网服务,支持HTTP、SOCKS、POP3、SMTP代理服务,并且支持高速web缓存和代理验证。软件下载地址:http://www.imfirewall.com/chs/trial/WProxy_3_0.zip1、下载完了安装一下,打开软件,点击【原创 2015-11-12 10:29:18 · 3343 阅读 · 0 评论 -
在微信扫描二维码登录网站和微信授权登录公众平台的WAP网站中遇到的问题
应用场景:客户有个网站,有个公众微信号(服务号),公众微信号菜单链接到网站WAP版,现在需要让用户非常方便的从某一个入口登录网站,如:在PC端扫描二维码后登录PC版,第一次扫描登录需要绑定已有账号或选择新注册账号,再如:通过公众微信平台的菜单打开WAP版,同理第一次登录需要微信用户授权登录,然后需要绑定已有账号或选择新注册账号,绑定或新注册后自动登录,下次同一用户从以上两个入口登录网站,直接就原创 2015-10-22 17:00:36 · 6699 阅读 · 0 评论 -
php的header函数之设置content-type
设置常用的content-type://定义编码header( 'Content-Type:text/html;charset=utf-8 ');//Atomheader('Content-type: application/atom+xml');//CSSheader('Content-type: text/css');//Javascriptheader('Cont转载 2015-09-14 10:11:46 · 493 阅读 · 0 评论 -
详解spl_autoload_register()函数
在了解这个函数之前先来看另一个函数:__autoload。 一、__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子:printit.class.php <?php class PRINTIT { function doPrint() { echo 'hello world'; }}转载 2015-09-11 15:04:08 · 360 阅读 · 0 评论 -
LAMP或LNMP环境安装包下载集合
upupw下载地址:http://www.upupw.netphpStudy下载地址:http://download.pchome.net/development/sever/php/detail-40373.htmlXampp下载地址:http://www.apachefriends.org/zh_cn/index.htmlWamp原创 2015-09-10 14:43:08 · 603 阅读 · 0 评论 -
PHP批量去除文件头部Bom信息
在linux环境下开发的网站,要移植到win2008+IIS7上布署,验证码图片在windows下始终显示不出来,linux下显示是正常的,查其原因,应该是加载的文件里头部带了bom信息,导致显示不出来,于是想到了写个批量替换文件头部bom信息。分享给大家~什么是文件头部Bom? 不知道的童鞋自补一下:查看文章说白了,就是在保存文件的时候,文件前面会多出一串隐藏的字符,但网站文件那么多原创 2015-08-06 16:42:37 · 574 阅读 · 0 评论 -
会员登录后跳转到源地址的解决方案
情况1:从百度等站外链接点击访问网站(如在百度搜索网站,然后通过快照链接); 情况2:从手机短信里分享的链接点击访问网站(如从提醒短信里直接点击链接); 情况3:在网站内页面切换时访问网站(如从网站页面A链接到页面B); 情况4:从微信群或公众平台链接点击访问网站(如从微信群里的分享链接或公众平台的菜单链接)。 分析: 以上情况的共同点就是都需要通过登录后进原创 2016-04-12 13:55:49 · 1303 阅读 · 0 评论 -
【PHP趣味】new self和new static的区别
一般情况下new self就是实例化这行代码所在的类,但如果是子类调用父类的方法(如上面父类的of),在这个父类方法里实例化子类,就可以new static来实现(换句话说new static实现了在父类里实例化子类),这也是多态的体现,让程序更加灵活。(在YII框架中有应用)原创 2016-04-15 15:48:54 · 478 阅读 · 0 评论 -
源代码行数统计利器:Cloc
官网地址:http://cloc.sourceforge.net/下载地址: Windows版:https://sourceforge.net/projects/cloc/files/cloc/v1.64/MAC下安装命令:$ brew install clocUbuntu安装:$ sudo apt-get install cloc$ cat `which cloc原创 2018-01-30 16:53:43 · 800 阅读 · 0 评论 -
PHP:session垃圾回收机制
在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁,这是PHP的GC垃圾处理机制,防止内存溢出。实例session.gc_probability = 1 //概率session.gc_divisor = 1000 //除数session.gc_maxlifetime = 86400 //session文件的有效期,单位s这三个配置组原创 2017-11-17 10:54:15 · 753 阅读 · 0 评论 -
php编译安装升级
升级php至5.61、重命名之前版本的安装路径/usr/local/php/ 为 /usr/local/php20170504/2、下载php5.6cd /usr/local/srcwget http://www.php.net/distributions/php-5.6.22.tar.gz3、解压./configure --prefix=/usr/local/php --with-config原创 2017-05-04 17:56:10 · 583 阅读 · 0 评论 -
编译安装php扩展imagick
环境说明CentOS 6.5、Nginx、Mysql、PHP5.5.2 php安装目录:/usr/local/php php.ini配置文件路径:/usr/local/php/etc/php.ini Nginx安装目录:/usr/local/nginx安装编译器yum -y install make cmake gcc gcc-c++ gcc-g77 flex bison file libto原创 2017-04-28 15:49:24 · 1253 阅读 · 0 评论 -
编译安装php扩展fileinfo
TP框架开发的项目上线到正式环境,发现下载不了文件,提示【Class 'finfo' not found】。缺失了一个PHP扩展php_fileinfo,用yum安装未果,后来找到安装成功的方法,写下备忘:服务器的php版本是5.5,去php官网下了个同样版本的压缩包,上传到/usr/local/src/,操作如下:cd /usr/local/srcwget http://cn.ph原创 2016-06-22 15:43:18 · 933 阅读 · 0 评论 -
【碎碎念】WEB开发过程中遇到的问题或思考
1、在做API接口接口时,status可以设置三种状态:0表示失败,1表示成功,2表示会员未登录,对所有需要登录的ajax请求做登录状态判断,如果超时则提示;原创 2016-09-28 17:32:45 · 376 阅读 · 0 评论 -
SVN操作心得
SVN中,忽略文件夹或文件后,想要再恢复成可提交,需要先删除文件夹提交。然后复制备份文件夹或文件到源目录,再将其从忽略列表中移除即可再次提交更新。如果需要从忽略列表中移除,要在对应的文件夹或者文件上右键找到Properties菜单,此时可以看到忽略列表中有这个文件夹或文件,Remove即可。忽略一个文件夹或文件操作:在这个文件夹或文件上右键,添加到忽略列表,然后进入关键一步:一定要原创 2016-09-05 20:04:02 · 349 阅读 · 0 评论 -
PHPStorm使用习惯设置(依个人而定)
常用配置以上更新设置,在phpStorm 10.0.3中,放到了System Settings下的Updates。以上两个勾选项,在phpStorm10.0.3中,放到了System Settings中。快捷键CTRL+ALT+L 格式化代码CTRL+ALT+I 自动缩进CTRL+P 方法参数提示ALT+SHIFT+INSERT 列选择模式CTRL+ALT+T 把选中的代码放在TRY{} IF{...原创 2015-04-16 20:43:43 · 671 阅读 · 0 评论 -
【PHP设计模式】——单例模式
<?php/* PHP设计模式之单例模式(又名职责模式) */final class Product{ private static $instance; public $mix; /* 对外提供访问的唯一入口,用来实例化自己,且仅实例化一次 */ public static function getInstance() { if( !原创 2016-07-25 14:41:48 · 348 阅读 · 0 评论 -
微信公众号自定义菜单操作步骤
以下操作基于项目中的Wechat文件夹程序,不能通用,写下备忘。1、登录微信公众平台,找到左侧导航上的基本配置;2、点击修改配置,修改URL,修改Token,重新生成EncodingAESKey,选择消息加解密方式为安全模式,先不点提交;3、在编辑器中打开/Wechat/vcstock_menu.php,修改TOKEN,修改EncodingAESKey,把创建菜单的代码注释掉,开启启动原创 2016-05-20 09:44:34 · 693 阅读 · 0 评论 -
【安全拾遗】cookie保护伞之Httponly
在网站攻击中,XSS攻击是很常见的一种。XSS全称Cross Site Scripting,为不与CSS重名,故写作XSS。攻击者通过在原始页面注入恶意的javascript脚本语言,达到获取用户token,从而达到伪造用户身份的目的。为了防范XSS的攻击,浏览器开发商发明了一个属性Httponly,如果给Cookie加上这个属性,js就不能通过document.cookie来获取Co原创 2016-04-29 00:46:39 · 931 阅读 · 0 评论 -
【php趣味】__CLASS__、get_class、get_called_class三兄弟
class A{ public function __construct() { //echo __CLASS__,''; //A echo get_class($this),''; //B } public static function getClassName() { //echo __CLASS__原创 2016-04-15 16:05:13 · 769 阅读 · 0 评论 -
PHP empty(),isset()与is_null()的实例测试
有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。转载 2014-12-01 16:05:16 · 437 阅读 · 0 评论 -
理解ActiveRecord模式
ActiveRecord的主要思想是:1. 每一个数据库表对应创建一个类,类的每一个对象实例对应于数据库中表的一行记录;通常表的每个字段在类中都有相应的Field;2. ActiveRecord同时负责把自己持久化,在ActiveRecord中封装了对数据库的访问,即CURD;;3. ActiveRecord是一种领域模型(Domain Model),封装了部分业务逻辑;转载 2015-07-02 16:11:20 · 1417 阅读 · 0 评论 -
PHP获取今天、昨天、明天的日期
如何获取时间戳,这是PHP程序员经常遇到的问题。之前都是用的时候才去百度,所以一直没有认真去弄明白过。今天公司程序开发需要,我负责开发一个签到小功能,由于需要获得连续签到天数,所以必须获得昨天的是否签到的情况,然后一下子就短路了,昨天如何获取?如果只是单纯的使用时间戳减去24小时的的话,这样显得非常不严谨。为了解决这个问题,就去网上找资料,终于把有关时间戳的问题都明白了,现在分享出来,转载 2015-06-25 00:32:23 · 515 阅读 · 0 评论 -
java时间戳在PHP程序中的读写转换
最近公司接的一个手机APP项目里,要用php做一个后台内容管理,但手机服务端程序用java+mysql开发,涉及到一个php与java时间戳精度不同的问题,java的时间戳是13位,而php的时间戳是10位,所以在读写数据表日期字段的时候出现了不兼容,写了一个转换函数,学习备忘!原创 2014-12-11 10:30:08 · 517 阅读 · 0 评论 -
java时间戳和PHP时间戳的转换[10位和13位]
总结一下java 时间戳和PHP时间戳 的转换问题: 由于精度不同,导致长度不一致,直接转换错误。 JAVA时间戳长度是13位,如:1294890876859 PHP时间戳长度是10位, 如:1294890859 主要最后三位的不同,JAVA时间戳在PHP中使用,去掉后三位,如:1294890876859-> 1294890876 结果:2011-01-13 11:54:3转载 2014-12-10 09:44:13 · 1268 阅读 · 0 评论 -
CentOS中Apache配置实现绑定多个域名
想在一个云服务器上配置多个网站,也就需要在云主机上绑定多个域名,百度了一些文章,但都没有找到好的答案,把请教朋友后,最终的一个解决办法写下,以便学习备忘。一开始是直接编辑httpd.conf文件,#NameVirtualHost *:80把上面这句前面的#号去掉,然后启用下面这段代码: ServerAdmin vsiryxm@qq.com Docum原创 2014-12-24 18:22:02 · 864 阅读 · 0 评论 -
GPS经纬度换算成百度坐标
最近在做一个WAP页面,页面上需要展示公司所在的地图位置,但数据库里保存的是GPS经纬度,需要转换一下才能在网页上显示出来。如何转换成百度坐标系?官方文档给的是:坐标转换接口非公开。百度搜“GPS坐标转换为百度坐标”,结果不负有心人呐,终于找到了解决方案,贴出来备忘。原创 2014-12-24 16:36:23 · 1036 阅读 · 0 评论 -
centos系统中Apache、php、mysql默认安装路径
Apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 PHP:转载 2014-12-05 11:23:21 · 1481 阅读 · 0 评论 -
开启错误提示_PHP和Apache的设置方法
一、修改php.ini文件。打开E:\php\soft\PHP\php.ini,display_errors = Onerror_reporting = E_ALL | E_STRICT二、修改Apache的httpd.conf文件。打开E:\php\soft\Apache2.2\conf\httpd.conf,shift+g跳到文件尾,在最下面添加如下两行:转载 2014-12-05 10:39:10 · 720 阅读 · 0 评论 -
手机APP+PHP网站API+支付宝接口集成经验
最近在配合手机APP支付,把流程走了一遍,写下来备忘。一、支付宝账号开通1、用支付宝企业账号,申请开通【移动快捷支付】,下载支付宝数据包 https://b.alipay.com/order/techService.htm2、解压【移动支付接口SDK2.0标准版(20150121)】,找到openssl文件夹: 移动支付接口SDK2.0标准版(201原创 2015-01-29 21:30:38 · 1466 阅读 · 0 评论 -
LAMP服务器环境搭建之初体验
最近公司给客户做一个手机APP,需要设计一个PC端的PHP后台管理系统,以前对linux系统知之甚少,经历网站从无到有的过程之后,学到了不少东西,记录下来,备忘!1、阿里云主机:CPU: 2核 内存: 4GB 数据盘: 80G 带宽: 3Mbps 2930元/年2、安装Linux系统,平台自装CentOS6.53、登录阿里云控制面板,获取到linux服务原创 2014-12-10 10:47:58 · 621 阅读 · 0 评论 -
PHP setcookie() cannot modify header information 的解决方法
使用setcookie()函数时总是报以下错误: Warning: Cannot modify header information - headers already sent by.... 解决办法如下: 方法一: 在PHP里Cookie的使用是有一些限制的。 1、使用setcookie必须在标签之前 2、使用setcookie之前,不可以使用echo输入内容 3、转载 2014-12-01 18:15:08 · 594 阅读 · 0 评论