摘要:1 2 <?php 3 define("TOKEN", "weixin"); 4 $wechatObj = new wechatCallbackapiTest(); 5 if (!isset($_GET['echostr'])) { 6 ...
阅读全文
随笔分类 - PHP
摘要:1 2 <?php 3 define("TOKEN", "weixin"); 4 $wechatObj = new wechatCallbackapiTest(); 5 if (!isset($_GET['echostr'])) { 6 ...
阅读全文
摘要:众所周知php原生函数substr是不支持截取中文字符串的。下面的代码提供了多种截取php中文字符串的方法。1. 截取GB2312中文字符串 1 0xa0) { 8 $tmpstr .= substr($str, $i, 2); 9 $i++;10 } else11 $tmpstr .= subs...
阅读全文
摘要:最近用到一些简单的对象与数组的相互转换的问题,采用递归写了两个方法如下 1 function arrayToObject($e){ 2 if( gettype($e)!='array' ) return; 3 foreach($e as $k=>$v){ 4 if( gettype($v)=='ar...
阅读全文
摘要:1.array_filter(array input,callback callback)作用:通过过滤函数过滤数组元素返回值:array注意:callback函数要带有参数,数组input的每个元素将会通过callback函数进行过滤。2.array_intersect(array arr1,ar...
阅读全文
摘要:你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起 。 ----- Arthur J.Riel (1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议...
阅读全文
摘要:这两天一直困扰的PHP RSA签名验证问题终于解决了,由于之前RSA接触的不多,再加上官方至今还未有PHP的SDK可供参考,因此走了一些弯路,写在这里和大家分享。虽然支付宝官方还未提供相关SDK,PHP确实可以实现RSA方式的签名,这点其实很重要,由于不熟悉,在遇到困难的时候,经常会不由自主地想到是否PHP不支持RSA签名,干脆用MD5得了,这样就没有了前进的动力。其实说穿了MD5和RSA签名,不同的只是签名方式的区别,其他的都一样,因此我这里主要说一下如何用RSA进行签名和验签。首先你需要准备下面的东西: php的openssl扩展里已经封装好了验签的方法openssl_verify。如果在
阅读全文
摘要:1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,II
阅读全文
摘要:PHP常用表达式用法1.匹配正整数:/^[1-9]\d*$/2.匹配非负整数(正整数+0):/^\d+$/3.匹配中文:/^[\x{4e00}-\x{9fa5}]+$/u4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/5.匹配网址URL:(((f|ht){1}(tp|tps)://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)6.匹配字母开头,5-16字符,字母数字下划线:/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/7.匹配数字,字母,下划线,中文:/^[\x{4e00}-\x{9fa5}A-Z
阅读全文
摘要:第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层 已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台 机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。目前国内的大型互联网应用中,大
阅读全文
摘要:php中退出时清除session的问题今天在做php项目的时候,需要增加安全退出的功能,也就是要求用户点"安全退出"时,执行清除session操作,并转到登录页.没想到在这个地方也小"卡"了一下. 出现的问题是当我点"安全退出"后转到登录页,但这时如果在地址栏中输入某一个管理页面的地址,还是能进去,也就是说session并未清除.我在程序的 代码中已经使用了session_unregister()方法注销了session的变量.但还是有这个问题,问了下zw,他帮忙看了一阵也没解决了. 还是上网搜索吧,在一篇文章中 看到一段代码,他在s
阅读全文
摘要:如何对PHP程序中的常见漏洞进行攻击(下)创建时间:2001-07-18文章属性:翻译文章来源:http://www.china4lert.org文章提交:analysist(analysist_at_china.com)如何对PHP程序中的常见漏洞进行攻击(下)原著:Shaun Clowes <http://www.securereality.com.au/>翻译:analysist <http://www.nsfocus.com/>[库文件]正如我们前面讨论的那样,include()和require()主要是为了支持代码库,因为我们一般是把一些经常使用的函数放到一个
阅读全文
摘要:创建时间:2001-07-17文章属性:翻译文章来源:http://www.china4lert.org文章提交:analysist(analysist_at_china.com)如何对PHP程序中的常见漏洞进行攻击(上)原著:Shaun Clowes <http://www.securereality.com.au/>翻译:analysist <http://www.nsfocus.com/>之所以翻译这篇文章,是因为目前关于CGI安全性的文章都是拿Perl作为例子,而专门介绍ASP,PHP或者JSP安全性的文章则很少。Shaun Clowes的这篇文章比较全面地介绍
阅读全文
摘要:用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’] 的速度是$row[id]的7倍。 3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。 4、在执行for循环之前确定最大循...
阅读全文
摘要:以下是个人总结的PHP文件操作函数。当然,这只是部分,还有很多,我没有列出来。一 、解析路径:1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。eg:$path="/home/httpd/html/index.php";$file=basename($path,".php");//$fileissetto"index"2 得到目录部分:dirname();给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后
阅读全文
摘要:unset()静态变量,只是取消了变量名和变量值的引用,但是静态变量的特性使它离开函数时还能保存这个变量和值,所以在下次执行函数时,本来被取消的引用又重新建立起来注:unset()只是断开了变量名和变量值之间的引用,而不是销毁变量内容,销毁变量用null,
阅读全文
摘要:淘宝网或者是人人网,应该是大家较为熟知的网站了。就算你不是它们的使用者,我想你也应该早有耳闻。人人网和淘宝网的右下角,都提供了"在线"通信功能:这次,我就和大家来谈谈我认为的这些网站实现这种在线聊天的“通信机制”。 实现Web版的IM(即时消息),是一种很实用的需求。比如:监控系统:后台硬件热插拔、LED、温度、电压发生变化;即时通信系统:其它用户登录、发送信息;即时报价系统:后台数据库内容发生变化;等等。但受限于http协议(基于请求/应答模式)。很难实现“即时”响应功能,来满足这些需求。 通常的解决方案有:基于基本的AJAX技术(不断请求服务端,以交互信息)、Flash
阅读全文
摘要:一,什么是xml,xml有什么用途XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。XML的用途很多,可以用来存储数据,可以用来做数据交换,为很多种应用软件提示数
阅读全文
摘要:客户端代码: 1 <?php 2 error_reporting(E_ALL); 3 set_time_limit(0); 4 echo "<h2>TCP/IP Connection</h2>\n"; 5 6 $port = 1935; 7 $ip = "127.0.0.1"; 8 9 /*10 +-------------------------------11 * @socket连接整个过程12 +-------------------------------13 * @socket_create14 * @socket
阅读全文
摘要:<?php $arr = array( "0" => array(line_num => "10", occur_time => "2007-11-19 10:25:04+08"), "1" => array(line_num => "9", occur_time => "2007-11-19 10:25:04+08"), "2" => array(line_num => "25",
阅读全文
|