Heim >php教程 >php手册 >有关PHP 10条有用的建议

有关PHP 10条有用的建议

WBOY
WBOYOriginal
2016-06-06 19:52:401118Durchsuche

1.使用ip2long() 和long2ip()函数来把IP地址转化成整型存储到数据库里。 这种方法把存储空间降到了接近四分之一(char(15)的15个字节对整形的4个字节),计算一个特定的地址是不是在一个区段内页更简单了, 而且加快了搜索和排序的速度(虽然有时仅仅是快了一点

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 这些地方寻求一个脚本的帮助的话,这个函数用起来非常的顺手。当然了,要小心不要意外的泄露出你的数据库连接信息和密码等。

 

highlight_file() 函数对文件进行语法高亮显示。

 

Php代码  有关PHP 10条有用的建议

  1. highlight_file(filename,return)  

 

filename 必需。要进行高亮处理的 PHP 文件的路径。
return

可选。如果设置 true,则本函数返回高亮处理的代码。

 

本函数通过使用 PHP 语法高亮程序中定义的颜色,输出或返回包含在 filename 中的代码的语法高亮版本。

许多服务器被配置为对带有 phps 后缀的文件进行自动高亮处理。例如,在查看 example.phps 时,将显示该文件被语法高亮显示的源代码。要启用该功能,请把下面这一行添加到 httpd.conf :

 

Java代码  有关PHP 10条有用的建议

  1. AddType application/x-httpd-php-source .phps  

 

 

返回值

如果 return 参数被设置为 true,那么该函数会返回被高亮处理的代码,而不是输出它们。否则,若成功,则返回 true,失败则返回 false。

 

实例:

Php代码  有关PHP 10条有用的建议

  1. "font-size: small;">  
  2.   
  3. highlight_file("test.php");  
  4. ?>  
  5.   
  6.   

 

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

 

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

 

error_reporting() 设置 PHP 的报错级别并返回当前级别。

 

  遮罩值   表示名称     
  1   E_ERROR     
  2   E_WARNING     
  4   E_PARSE     
  8   E_NOTICE     
  16   E_CORE_ERROR     
  32   E_CORE_WARNING     
      
  E_NOTICE   表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫   stat()   函数检视不存在的文件。     
  E_WARNING   通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫   ereg()。     
  E_ERROR   通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。     
  E_PARSE   从语法中解析错误。     
  E_CORE_ERROR   类似   E_ERROR,但不包括   PHP   核心造成的错误。     
  E_CORE_WARNING   类似   E_WARNING,但不包括   PHP   核心错误警告。

 

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

 

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

 

string gzcompress (string data [, int level]) 
说明 :
结果返回一個输入值string的压缩版本,失败则返回false。非必需参数level可以给予0到9,0表示无压缩,9表示最大的压缩。
不过这个压缩不是gzip压缩

 

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

 

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

 

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

 

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

 

 魔术引号(Magic Quote)是一个自动将进入 PHP 脚本的数据进行转义的过程。最好在编码时不要转义而在运行时根据需要而转义。 
什么是魔术引号 

当打开时,所有的 '(单引号),"(双引号),\(反斜线)和 NULL 字符都会被自动加上一个反斜线进行转义。这和 addslashes() 作用完全相同。 

一共有三个魔术引号指令: 

    * magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。 参见 get_magic_quotes_gpc()。 
    * magic_quotes_runtime 如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。 参见 set_magic_quotes_runtime() 和 get_magic_quotes_runtime()。 
    * magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非反斜线。此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ''。而双引号、反斜线 和 NULL 字符将不会进行转义。 如何取得其值参见 ini_get()。 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn