今天偶然看到一个问题,判断错了,出乎意料。 $foo = true; var_dump($foo); echo $foo; $bar = false; var_dump($bar); echo $bar; 下面是输出: bool(true) […]
PHP
UltraEdit中检查php语法是否正确
可以直接在UltraEdit中檢查php語法是否正確的設定 很好用的東東 記下來免得又忘了 Advanced–>Tool Configuration 按Insert [Command] Manu Item Name: PHP syntax Check (PHP5) Command Line: C:\php\php-win.exe -l -f %F Working Directory: C:\php\ (PHP4) Command Line: C:\php\cli\php.exe -l -f %F Working Directory: C:\php\cli\ [Options] Program Type: Dos program […]
PHP Multipart form data input
PHP 不能得到 multipart/form-data 类型的 body 原始数据!!! 用 file_get_contents(‘php://input’); 只能得到 Content-Type 不为 multipart/form-data 类型的。 标记一下~
POST method uploads errors
$_FILES[“file”][“error”]是错误代码,0表示没有错误,下面几种对应不同的错误 1 : 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值. 2 : 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 […]
PHP 未知类型变量 empty isset 陷阱
用 empty 检查位置类型的变量时,容易掉进难以察觉的陷阱,请看下面简单的代码,预测一下 3 个 var_dump 的输出: $mixed_1 = array(); $mixed_2 = ‘Nihao’; $bool_1 […]
类常量 字符串 对比 性能测试
写一个处理 url 的 PHP 工具类,需要用到很多字符串相关的函数,比如 preg_match、preg_replace、strpos 之类的。 正则表达式和查找的 needle 字符,都是用字符加引号直接作为参数传递给上述函数,比如: preg_match(“#^http[s]?://#i”, $strUrl); 用以匹配是否是 http 开头的 […]
Windows PHP dirname root
遇到奇怪的问题,在 Windows 环境下,你猜 dirname(‘/’) 返回虾米? string(1) “\” Linux 下呢? string(1) “/” 换个参数,dirname(‘/home/leakon/sofav.php’),如果你认为上面的不同,是因为 Windows 的目录分隔符是反斜线 “\”,那下面的结果如何解释? […]
Conference PHP Quebec 2009
一年一度的 PHP Quebec 大会,本月初在加拿大的蒙特利尔举办。这次大会的主题是 “Get Further with PHP”,中文怎么说呢,“与PHP 一起深入发展”? 这是官方主页: http://conf.phpquebec.com/en 我第一次听说这个 PHP Quebec 是在 2008 年,从网上找到一本 […]
PHP clone 复制对象 优化对象创建速度
用 clone 结构来复制一个对象。 PHP 的对象赋值,默认是引用传递。 如果需要一个对象的副本,只能用 clone。 从性能上考虑,当在一个循环中需要反复创建一个新对象的时候,可以考虑在外层创建,在循环内层用 clone 来复制对象。这样性能将会得到很大提高。 这里有实地测试的代码和测试结果可以参考: <<PHP 对象克隆 性能优化示例>> 引用一下结论: […]
PHP MySQL localhost 127.0.0.1
今天刚发现一个问题,PHP连接MySQL的时候,不同环境的localhost会有不同的结果。 我的服务器装了2套PHP,其中有一个是用源码编译的,另一个是xampp集成包。 编译的php用于生产环境,xampp用来建立测试环境。 把线上的代码放到测试环境下,居然报告无法连接MySQL! 刚开始以为是端口的问题,可是我在命令行下怎么连接都没问题。最后抱着试试看的想法,把localhost改成了127.0.0.1,这回居然成功了。 我不能理解,线上代码运行的好好的,配置文件就是localhost呀,怎么到测试环境就必须改成127.0.0.1才行? 两套环境,主要的区别就是PHP,虽然版本都一样,不过xampp是编译好的,我估计问题出在这里。 然后立刻写了一个测试程序: $connA = mysql_connect(‘127.0.0.1:3306’, ‘leakon’, ‘pass’); $connB = […]