`
javatgo
  • 浏览: 1124967 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于PHP你可能不知道的10件事

 
阅读更多

小编之前也曾报导过PHP开发人员容易忽略的几点精华,除了一些精华技术方法外,很多细微之处也是程序员们容易忽略的,下面我们为您总结了10个关于PHP你可能不知道的事情。

  关于PHP更多内容,欢迎访问:PHP开发基础入门

  1.使用ip2long() 和long2ip()函数来把IP地址转化成整型存储到数据库里。

  这种方法把存储空间降到了接近四分之一(char(15)的15个字节对整形的4个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。

  2.在验证Email地址的时候使用checkdnsrr() 函数验证域名是否存在。

  这个内置函数能够确认指定的域名能够解析成IP地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的Email地址是memory@wwwphp100.net而不是memory@php100.net的家伙们,这个方法可以很方便的抓住他们。

  3.如果你使用的是PHP 5和MySQL 4.1 或者更高的版本,考虑用mysqli_* 系列函数。

  一个很好的功能就是你可以使用预处理语句,如果你在维护一个数据库密集型站点,这个功能能够加快查询速度。一些评估分数。

  4.学会爱上三元运算符。

  5.如果你在项目中感觉到有可复用的部分,在你写下一行代码前先看看PEAR中是否已经有了。

  很多PHP程序员都知道 PEAR 是一个很好的资源库,虽然还有很多程序员不知道。这个在线资源库包含了超过400个可以复用的程序片段,这些程序片段你可以立即用刀你的程序里。除非说你的项目真的是非常特别的,你总能找到帮你节省时间的 PEAR包。

  6.用 highlight_file()来自动的打印出格式化的很漂亮的源代码。

  如果你在留言板、IRC 这些地方寻求一个脚本的帮助的话,这个函数用起来非常的顺手。当然了,要小心不要意外的泄露出你的数据库连接信息和密码等。

  7.使用 error_reporting(0)函数来防止用户看到潜在的敏感错误信息。

  在理想情况下,发布服务器应该在php.ini 里完全禁止。但是如果你用的是一个共享的 web 服务器的话,你没有自己的 php.ini 文件,那么这种情况下你最好的选择就是在所有脚本的第一行前加上 error_reporting(0);(或者使用 require_once() 方法)。这就能够在出错的时候完全屏蔽敏感的SQL查询语句和路径名。

  8.在网数据库中存储很大的字符串之前使用 gzcompress() 和 gzuncompress() 来显式的压缩/解压字符串。

  这个PHP内置函数使用 gzip 算法,可以压缩普通文本达 90%。在我每次要读写BLOB类型的字段的时候都使用这些函数。唯一额例外就是当我需要全文检索的时候。

  9.通过“引用”传递参数的方法从一个函数中得到多个返回值。

  就像三元运算符一样,大部分受过正式编程训练的程序员都知道这个技巧。但是那些 HTML 背景大于 Pascal 背景的程序员都或多或少的有过这样的疑问“在仅能使用一次 return 的情况下,从一个函数里返回多个值?”答案就是在变量前加上一个 “&” 符号,通过“引用”传递而非“值”传递。

  10.完全理解“魔术引号”和 SQL 注入的危险性。

  我希望阅读到这里的开发者都已经很对SQL注入很了解了。不过我还是把这条列在这里,是因为这个确实有点难以理解。

分享到:
评论

相关推荐

    PHP基础教程 是一个比较有价值的PHP新手教程!

    你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,...

    PHP教程 初级教程

    你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,...

    CodeIgniter:php敏捷开发框架web快速开发详解

    你可能不知道如何处理。但 CI 可以方便地让你用 4 行代码完成此功能: 复制代码到剪贴板PHP 代码$name = 'mydata1.txt'; $data = 'the contents of my file..........'; $this->zip->add_data($name, $data); $this...

    微信淘宝客PHP版对接新方法

    许多朋友的微信公众号粉丝也不少,就是不知道如何挣钱,接广告吧,也接不到几个。然而,大家就可以运营一个公众号,把粉丝给加上来,然后大家就可以在微信公众号的文章中加入一些淘宝客产品的链接就可以了,我知道...

    PHP 面向对象技术(全面讲解).txt

    然而,对于大型项目,你可能需要在PHP 中使用纯的OOP 去声明类,而且在你的项目里只用对象和类。这个概念我先不多说了,因为有很多朋友远离面向对 象编程的主要原因就是一接触面向对象概念的时候就理解不上去, 所以...

    PHP和MySQL Web开发第4版pdf以及源码

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    PHP和MySQL WEB开发(第4版)

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行数据:fgets...

    Java-PHP-C#

    [0-9]+", $str) (不知道php4是不是一样) 不要忘记在中括号里面的字符是这条规路的例外—在中括号里面, 所有的特殊字符,包括(''), 都将失去他们的特殊性质(i.e., "[*\+?{}.]"匹配含有这些字符的字符串). 还有,正如...

    PHP和MySQL Web开发第4版

    2.4.4 解决打开文件时可能遇到的问题 2.5 写文件 2.5.1 fwrite()的参数 2.5.2 文件格式 2.6 关闭文件 2.7 读文件 2.7.1 以只读模式打开文件:fopen() 2.7.2 知道何时读完文件:feof() 2.7.3 每次读取一行...

    WordPress日志打印插件wp-print

    Chan 出品的插件除了功能强大外,更新也很及时,如果你的博客很受欢迎,而且有相当的技术含量,那么,这款插件会非常的适合你,因为你不知道有多少人会打印你的网站内容,所以,为了这些潜在宣传博客的可能,你可以...

    Hait-windows 2.0

     2.0功能上比1.0更好用了许多,(可以说完全不是一个档次的)1.0是asp+access的,不知道的网友可以站内搜索一下,2.0在后台上花了很多功夫,前台的话,还在修改。  为了兑现诺言,今天(正月十五网上23点30分)将...

    php通过文件头检测文件类型通用代码类(zip,rar等)

    如果你需要知道文件头信息,可以通过工具:winhex打开标准文件查找。如: 代码: 复制代码 代码如下: <?php /*通过文件名,获得文件类型* *@author chengmo* *@copyright cnblog.com/chengmo 2010-10-17 *@...

    股票买卖最佳时机leetcode-PHP-Microsoft-AppleStock-Problem:PHP-Microsoft-AppleSt

    编写编程面试问题并没有让我变得富有……所以我可能会放弃并开始整天交易苹果股票。 首先,我想知道如果我整天都在交易苹果股票,我昨天能赚多少钱。 所以我从昨天开始获取 Apple 的股票价格并将它们放在一个名为 $...

    BMForum 5.1 Beta 1

    (可能不需要) <br> <br>7. 在"论坛设置"中设置所有的空白变量(数值可以参考相应的说明, 即使没发现什么空白 <br> 变量,也请务必保存一次)。 <br> <br>10. 管理中心的设置结束后,就可以运行 index...

    Hait windows网站系统 v2.0.rar

     2.0功能上比1.0更好用了许多,(可以说完全不是一个档次的)1.0是asp access的,不知道的网友可以站内搜索一下,2.0在后台上花了很多功夫,前台的话,还在修改。  为了兑现诺言,今天(正月十五网上23点30分)将...

    BMForum 4.4 论坛

    (可能不需要) 7. 在"论坛设置"中设置所有的空白变量(数值可以参考相应的说明, 即使没发现什么空白 变量,也请务必保存一次)。 10. 管理中心的设置结束后...

    WP-UserOnline显示在线用户的插件

    建议不要使用这种方式,在测试的时候,激活该项后,博客侧栏的其它菜单都消失了,不知道什么原因,所以,建议您还是使用添加代码的方法进行添加。 添加好后,在后台左侧的上方的Dashboard的版块中,会多出个WP-...

    星外提权工具

    如果这些目录中有你不认识的vbs,exe等文件就很可能是入侵后的后门. 注意,使用最新安全包后,可能会提示回收站被破坏,不用担心,这个提示不影响使用,也不用处理.安全包只能限制了USERs用户的调用回收站造成不安全.正常...

    MolyX Board v2.1 个人用户正式版

    10、更加体贴的词语过滤功能——你可以为不同的词语设定各种过滤属性,而不再仅仅是单调乏味的xxxxxx。 11、插件中心模块——没有任何php开发经验,不敢进行任何数据库执行操作?有了这个模块式的插件...

Global site tag (gtag.js) - Google Analytics