`

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

阅读更多

1.使用ip2long() 和long2ip()函数来把IP地址转化成整型存储到数据库里。7 l6 i3 [" j6 H4 q

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

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

这个内置函数能够确认指定的域名能够解析成IP地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的Email地址是joeuser@wwwphp.net而不是joeuser@php.net的家伙们,这个方法可以很 方便的抓住他们。
" G& Q5 C) ?) ~
3.如果你使用的是PHP 5和MySQL 4.1 或者更高的版本,考虑用mysqli_* 系列函数。! U$ w7 I* C+ Y* D8 @

一个很好的功能就是你可以使用预处理语句,如果你在维护一个数据库密集型站点,这个功能能够加快查询速度。一些评估分数。2 N  M" E# {: y! i
! M! u( b" m! A! Y8 ?( L
4.学会爱上三元运算符。

5.如果你在项目中感觉到有可复用的部分,在你写下一行代码前先看看PEAR中是否已经有了。8 h2 s5 n9 W3 p7 y3 b+ I( ~! U
# E4 _  b8 B9 ~6 L$ ]
很多PHP程序员都知道 PEAR 是一个很好的资源库,虽然还有很多程序员不知道。这个在线资源库包含了超过400个可以复用的程序片段,这些程序片段你可以立即用刀你的程序里。除非说你的项目真的是非常特别的,你总能找到帮你节省时间的 PEAR包。! c3 a! i. }" \" s5 k

6.用 highlight_file()来自动的打印出格式化的很漂亮的源代码。4 q; Q( ^  s0 X+ y6 W1 _
$ @3 t* I% w) Z& w. M
如果你在留言板、IRC 这些地方寻求一个脚本的帮助的话,这个函数用起来非常的顺手。当然了,要小心不要意外的泄露出你的数据库连接信息和密码等。

7.使用 error_reporting(0)函数来防止用户看到潜在的敏感错误信息。
5 {9 l# x. y7 e, k
在理想情况下,发布服务器应该在php.ini 里完全禁止。但是如果你用的是一个共享的 web 服务器的话,你没有自己的 php.ini 文件,那么这种情况下你最好的选择就是在所有脚本的第一行前加上 error_reporting(0);(或者使用 require_once() 方法)。这就能够在出错的时候完全屏蔽敏感的SQL查询语句和路径名。
- X" o! w: \* O2 K( A5 ~; u4 O
8.在网数据库中存储很大的字符串之前使用 gzcompress() 和 gzuncompress() 来显式的压缩/解压字符串。
+ O( R; K- o2 v8 z; b: H
这个PHP内置函数使用 gzip 算法,可以压缩普通文本达 90%。在我每次要读写BLOB类型的字段的时候都使用这些函数。唯一额例外就是当我需要全文检索的时候。4 m, I( B- @* W4 }
3 I  ?- i/ W' Y/ Z9 F. o
9.通过“引用”传递参数的方法从一个函数中得到多个返回值。9 [! I, H4 R6 V

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

10.完全理解“魔术引号”和 SQL 注入的危险性。# h! R. d8 H% w+ N9 p
! F) D' Q- a9 M& h9 |) r
我希望阅读到这里的开发者都已经很对SQL注入很了解了。不过我还是把这条列在这里,是因为这个确实有点难以理解

分享到:
评论

相关推荐

    网页设计php你不知道的10件事情

    根据给定的信息,我们将深入探讨有关PHP的十个鲜为人知的事实。这些知识点涵盖了从IP地址处理、电子邮件验证到错误报告等多个方面,对于提高网站性能、安全性以及开发效率都具有重要意义。 ### 1. 使用`ip2long()`...

    php-7.4.22.tar PHP安装包for Linux

    同时,为了使系统知道新的PHP版本,可能需要更新或创建符号链接,如`sudo ln -s /usr/local/php/bin/php /usr/bin/php`。 8. **启动和检查**: 启动PHP-FPM服务(FastCGI进程管理器),这通常通过`systemctl start...

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

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

    10天学会PHP

    通过学习,你将知道如何使用try-catch结构来捕获并处理可能出现的错误,理解错误报告级别和日志记录,这对于调试和优化代码至关重要。 除此之外,PHP还支持多种Web应用框架,如Laravel、Symfony等,这些框架可以...

    Windows Xp + IIS + PHP 环境搭建手册

    搭建Windows XP + IIS + PHP环境是初学者和专业开发者在Windows平台上运行PHP应用程序的常见需求。...虽然这个组合可能不如现代操作系统和Web服务器的组合高效,但它仍然适用于学习和某些特定场景,希望对你有所帮助。

    PHP实例开发源码—PHPFetion PHP飞信发送类.zip

    8. **版本兼容性**:确认PHPFetion类库是否兼容当前使用的PHP版本,因为不同的PHP版本可能存在不兼容的语法或函数。 9. **代码优化**:在实际部署后,可能需要对代码进行优化,以提高效率,减少资源消耗,例如,...

    全程指导Windows下PHP环境配置--不错的自定义PHP环境知道书

    在Windows环境下配置PHP环境是许多初学者和开发者都需要掌握的一项基本技能。...在实践中,你可能还会遇到其他问题,这时查阅官方文档、社区论坛或在线教程都能找到解决方案。祝你在PHP开发旅程中一切顺利!

    基于PHP的Color百度知道抓取程序源码.zip

    10. 版本控制:源码可能包含版本控制信息(如Git),理解版本控制的概念和基本操作有助于跟踪代码的修改历史。 总的来说,这个项目涵盖了PHP编程、网络爬虫开发、数据处理等多个方面,适合有一定PHP基础并且对网络...

    PHP新闻系统源码---PHPnew

    10. **响应式设计**:为了适应不同设备的屏幕尺寸,PHPnew可能采用响应式设计,使用CSS3媒体查询和Bootstrap等框架来实现。 11. **API集成**:如果系统支持第三方服务集成,例如评论系统、社交媒体分享,那么API...

    PHP实例开发源码—PHP文章系统源码.zip

    “使用须知.txt”可能包含关于如何开启或关闭错误报告,以及如何记录错误日志的信息。了解这些实践对于调试和优化代码至关重要。 6. 文件上传: 文章系统可能会有附件上传功能,这涉及PHP的文件上传处理。学习...

    基于PHP的Color百度知道程序源码.zip

    【文件名列表】中的"132699571280613526"可能是一个错误或者不完整的文件名,通常在源码压缩包中,文件名列表会包括PHP源代码文件(如index.php、config.php、database.php等)、样式表(CSS文件)、JavaScript脚本...

    PHP实例开发源码—php在线最新货币查询转换工具.zip

    10. **性能优化**:为了减少API调用次数,可能会有缓存策略,例如使用memcached或redis存储短期汇率数据。 要深入学习这个实例,你需要了解以上知识点,并结合“使用须知.txt”文件中可能提供的具体操作指南和注意...

    php分页,代码很简单

    1. **计算总页数**:你需要知道数据库中的总记录数,然后根据每页显示的数据量来计算总页数。可以使用SQL的`COUNT()`函数来获取总记录数,例如: ```sql $sql = "SELECT COUNT(*) FROM your_table"; $result = ...

    基于PHP的百度知道爬虫天宇版免费版.zip

    这意味着开发者可能已经对爬虫进行了优化和定制,以适应百度知道的特定结构和反爬策略,同时作为一个免费版本,它可能具备基本的爬取功能,但可能不包含高级特性或者商业支持。 【标签】"PHP" 显示这个项目是用PHP...

    有理想的程序员必须知道的15件事

    ### 有理想的程序员必须知道的15件事 #### 1. 走一条不一样的路 在IT行业,要想脱颖而出,就必须敢于与众不同。选择一条与众不同的职业道路意味着避免盲目跟随大众的步伐,尤其是对于那些追求高薪职位的人来说尤为...

    基于PHP的百度知道天宇免费版源码.zip

    由于提供的文件名称 "132699570622212404" 并不符合常规的PHP源码文件命名规则,可能是某种编码或随机生成的字符串,这通常用于文件ID或时间戳。它可能是指源码包内的某个特定文件或资源,但没有更多信息,无法...

    基于PHP的企管美女美图php版源码.zip

    【标签】"php" 表明这个项目的核心技术是PHP,这让我们知道我们需要对PHP语言、PHP框架(如Laravel、Symfony、CodeIgniter等)、PHP数据库连接(如MySQL、PDO)以及PHP的Web开发基础知识有所了解,才能有效地理解和...

    wmap php+apache+mysql 环境搭建

    10. **优化和维护**: 根据实际需求调整Apache和MySQL的配置,例如优化内存使用、设置日志记录、配置SSL支持等,以确保系统性能和稳定性。 以上就是搭建PHP+Apache+MySQL环境的详细过程,包括每个步骤中涉及的关键...

    wordphp中文文档

    在创建Word文档时,你需要知道文档的一些核心属性,比如标题、作者、创建日期等。这些属性可以通过PHPWord提供的API来设置,为你的文档添加元数据。例如,你可以使用`$phpWord->getProperties()->setTitle('文档标题...

Global site tag (gtag.js) - Google Analytics