随笔分类 -  PHP

PHP
TEA 加密解法,统一了C语言、Java与PHP的运算结果
摘要:去年PHP与Andriod终端通讯,想使用TEA加密,却发现Java实现的TEA只能由Java解密、PHP实现的TEA只能由PHP解密。这不是我们想要的。昨天中午有空,想起加密这回事,仔细研究了TEA算法,本人笨,经过十五个小时的摸索,终于实现了C语言、Java与32bit的PHP加密解密一致性。首先,来一段网上流行的C语言描述的TEA算法:#include <stdint.h> void encrypt (uint32_t* v, uint32_t* k) { uint32_t v0=v[0], v1=v[1], sum=0, i; /* set up */ ... 阅读全文

posted @ 2013-01-20 04:25 还是刀哥靠谱 阅读(10436) 评论(0) 推荐(2)

在Windows中安装PhpUnit
摘要:步骤:安装 pear ,参见http://www.cnblogs.com/heiing/archive/2011/12/07/2279405.html安装 PHPUnit,参见http://www.phpunit.de/manual/3.7/en/installation.htmlpear config-set auto_discover 1pear install pear.phpunit.de/PHPUnit输出Attempting to discover channel "pear.phpunit.de"...downloading channel.xml ...St 阅读全文

posted @ 2012-09-07 11:40 还是刀哥靠谱 阅读(10114) 评论(2) 推荐(0)

修改 PHP 的 memory_limit 内存限定
摘要:最近需要修改 CentOS 里的 PHP 内存限定,发现不管怎么修改 php.ini 里的memory_limit 都无法修改成功,phpinfo() 里显示还是原来的数值。今天早上随手vim一下 php-fpm.conf 文件,发现 php_admin_value[memory_limit] = 64M,修改为128M,reload 一下 php-fpm,修改成功! 阅读全文

posted @ 2012-04-24 08:42 还是刀哥靠谱 阅读(8369) 评论(0) 推荐(0)

simpletest的一点经验:0个测试、1个Case的情况
摘要:今天发现:假如测试文件为 TestSomthing.php那么,运行这个测试的时候,如果加QueryString,SimpleTest不会做测试,如 http://example.org/TestSomthing.php?sh=xxx,会出现一个成功的绿条,1个case,0个测试。如果有一个文件为index.php,通过 require/include 把 TestSomthing.php 包含进来,会有同样的问题。所以,如果运行 TestSomthing.php 来做单元测试,它的地址一定是如下形式的:http://example.org/someplace/TestSomthing.php 阅读全文

posted @ 2012-04-11 20:46 还是刀哥靠谱 阅读(411) 评论(0) 推荐(0)

PDOStatement的HY093错误原因及解决办法
摘要:PHP中使用PDO时,如果PDOStatement的实例返回HY093错误,通常都是参数绑定错误。参数绑定错误通常有以下几种:1. 参数个数不符,请检查PDOStatement::execute($array)中$array的元素个数与prepare方法中:param_name或?的个数是否相同,这种情况没有任何错误描述,只有错误代码HY093;2. 参数名不匹配,请检查 PDOStatement::execute($array)中$array的键名与prepare方法中:param_name完全一致;3. prepare方法使用了不正确的参数名,例如':param_name' 阅读全文

posted @ 2012-03-21 20:28 还是刀哥靠谱 阅读(8768) 评论(0) 推荐(0)

在Windows下安装pear
摘要:Windows 下安装pear,修改go-pear.bat如下:@ECHO OFFset PHP_BIN=php.exe%PHP_BIN% -d phar.require_hash=0 PEAR\go-pear.pharpause以下内容于2012-09-07更新步骤:到 http://windows.php.net/downloads/releases/archives/ 下载PHP,解压并重命名到为php5.x.x,进入php5.x.x目录如果需要扩展,打开php.ini,设置 extension_dir = "ext" , 取消对应扩展的注释打开cmd,进入php5. 阅读全文

posted @ 2011-12-07 15:48 还是刀哥靠谱 阅读(10171) 评论(1) 推荐(1)

XMLHttpRequest(Ajax)不能设置自定义的Referer
摘要:解决方法: 使用服务器作为代理.在PHP中, 使用我最喜欢的最强大的CURL,嘿嘿下面是在万网查询域名的实例代码<?php$dn = $_GET['dn']; // 域名, 不包括www$ex = $_GET['ex']; // 顶级域名, 如 .com, .cn, 包括最前面的.// 查询域名是否已经注册 $url='http://pandavip.www.net.cn/check/check_ac1.cgi';$ch=curl_init($url);curl_setopt($ch,CURLOPT_POST,true); // POSTc 阅读全文

posted @ 2011-11-24 15:56 还是刀哥靠谱 阅读(6572) 评论(1) 推荐(0)

Linux中,fgetcsv取得的数组元素为空字符串的解决方法
摘要:使用CSV导入数据的时候,我们通常用的是Windows系统,使用GBK在Windows的Excel中编辑.但服务器上,很多使用Linux服务器,源程序使用UTF-8,这样很容易产生字符编码的问题.如果仅仅将CSV文件转码为UTF-8,这样在Windows服务器上没有问题, 而在RedHat5.5上,用fgetcsv取得的数组中,如果某列的内容是中文,则该列对应的数组元素为空字符串,而英文则正常.这时,需要设置区域: setlocale(LC_ALL, 'zh_CN.UTF-8');代码如下 //上传的CSV文件,通常是用Excel编辑的GBK编码,//而源代码是UTF-8,需要 阅读全文

posted @ 2011-11-24 11:02 还是刀哥靠谱 阅读(624) 评论(0) 推荐(0)

在 WampServer 上手工安装 PHP 的多个版本
摘要:WampServer是一个集成了PHP/Mysql/Apache及其它应用(如PhpMyAdmin/Xdebug[也许没有])的软件,它最令人喜爱的特征,不是令Php/Mysql/Apache的安装配置简单化,而是让我们只需要点点鼠标,就可以随意切换已经安装的PHP/Mysql/Apache的不同版本。对于PHP不同版本的需求,PHP程序员都最清楚不过了。WampServer的Version菜单(Apache、PHP、Mysql各自有一个Version菜单)上,有一个 Get More... 连接,点击它就可以到官网上下载你需要的版本,安装是自动化的,非常简单。但是,到我写本文为止,官网的P. 阅读全文

posted @ 2011-11-15 17:11 还是刀哥靠谱 阅读(28750) 评论(6) 推荐(1)

PHP容易被忽略而出错陷阱-数字与字符串比较
摘要:0 与任意非数字(或者说,不可转化为数字的字符)前导的字符串比较(操作符为==), 均返回 true.原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true.更加详细的比较规则, 多种类型的比较规则, 在 PHP手册/语言参考/运算符/比较运算符 可以找到. 阅读全文

posted @ 2011-11-08 21:01 还是刀哥靠谱 阅读(423) 评论(0) 推荐(1)

PHP中的 strtr 函数
摘要:PHP的 strtr 函数, 性能要比 str_replace 函数高, 可以代替 str_replace 来使用.strtr 有两种形式:string strtr ( string $str , string $from , string $to )string strtr ( string $str , array $replace_pairs )当使用第一种的时候, 参数 $from, $to 的字符串长度一定要相同, 否则多余的(不管是$from多还是$to多) 字符被忽略.比如 $str = 'a-=b' ;当$from='-=' ,$to=' 阅读全文

posted @ 2011-10-20 14:26 还是刀哥靠谱 阅读(1539) 评论(1) 推荐(0)

array_intersect 比 array_diff 快
摘要:在PHP中,使用 array_intersect 求两个数组的交集比使用 array_diff 求同样两个数组的并集要快。如果要求数组 $a 与数组 $b 的差集的个数,应该使用 count($a) - count(array_intersect($a, $b)),而不要用 count(array_diff($a, $b));前面要比后者快,在大数组中更为明显。 阅读全文

posted @ 2011-06-30 11:30 还是刀哥靠谱 阅读(402) 评论(0) 推荐(0)

小试QueryPath,一个实现了不少jQuery接口的PHP类库
摘要:很想写一个PHP的jQuery,但是自己精力与能力有限,于是Google一下,找到 QueryPath。其实前几天已经找到一个,叫 simple_html_dom (SourceForge下载),不到1000行代码,很简单。有兴趣就下载看看。基本使用方法:require'src/QueryPath/QueryPath.php';//解释HTML为DOMqp('<html>...</html>');//或者加载文件qp('http://www.google.com.hk/index.html');如果 qp的第一个参数是 u 阅读全文

posted @ 2011-06-21 11:36 还是刀哥靠谱 阅读(1668) 评论(0) 推荐(0)

A HOWTO on Optimizing PHP(如何优化PHP的一篇文章)
摘要:本文有图,若无图,可下载DOCX文件转自 http://phplens.com/lens/php-book/optimizing-debugging-php.php作者:http://phplens.com/phpeverywhere/PHP is a very fast programming language, but there is more to optimizing PHP than just speed of code execution. In this chapter, we explain why optimizing PHP involves many factors . 阅读全文

posted @ 2011-06-21 08:36 还是刀哥靠谱 阅读(745) 评论(0) 推荐(0)

优化 PHP 代码的 40 条建议
摘要:1.如果一个方法可静态化,就对它做静态声明。速率可提升至 4 倍。 2.echo 比 print 快。 3.使用 echo 的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行 for 循环之前确定最大循环数,不要每循环一次都计算最大值。 5.注销那些不用的变量尤其是大数组,以便释放内存。 6.尽量避免使用 __get,__set,__autoload。 7.require_once() 代价昂贵。 8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。 9.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用 $_SERVER[‘REQUEST_TI 阅读全文

posted @ 2011-06-21 08:20 还是刀哥靠谱 阅读(441) 评论(0) 推荐(0)

写了一个PHP的String类
摘要:PHP String 类,暂时只有encode,decode方法:使用方法:$s = '中国';$os = new String( $s );echo $os->decode('gbk') , ' ';echo $os->decode('gbk')->encode('md5'), ' ';代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/- 阅读全文

posted @ 2010-04-20 15:46 还是刀哥靠谱 阅读(378) 评论(0) 推荐(0)

PHP XML To Array,将XML转换为数组
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//Xml转数组,包括根键,忽略空元素和属性,尚有重大错误functionxml_to_array(... 阅读全文

posted @ 2009-12-31 17:17 还是刀哥靠谱 阅读(48993) 评论(4) 推荐(3)

导航