1.htmlspecialchars, 此函数在5.4之后不支持gbk,所以如果使用此函数转义则会出现中文为空的情况。解决办法是htmlspecialchars($string, ENT_QUOTES,’ISO-8859-1′),添加ISO-8859-1。
2.iconv iconv(‘utf-8′,’gbk’,$str), 如果$str里面有特殊字符,容易导致转换后内容为空,解决办法是添加iconv(‘utf-8′,’gbk//IGNORE’,$csv)
3.require/include,包含的文件尽量使用绝对路径,采用相对路径的时候,可能会掉坑。因为函数解释里面有这么一句:被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。注意,项目稍微大点就会有一定的目录规范,容易导致调用脚本目录和当前工作目录(指文件目录)不一致,而如果存在相同名字引用文件,那么就会出错。
4.urldecode的安全坑,详情查看php慎用urldecode函数。
5.慎用__dir__,因为此魔术常量从5.3的版本后才支持的,而目前有大量的5.2的环境,所以使用dirname(__FILE__)代替更稳妥。
6.7个有用的php函数,值得学习。