首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

7-10  项目:创建和使用文件类

处理文件时,会花很多时间检查来确保文件已经打开、已经关闭以及文件确实存在等。由于处理文本文件时验证是关键,而且所有情况下都需要充分的验证,因此创建一个更有用的类完成所有这些繁琐工作是有意义的。下面的cfile类就完成了使用文件的大部分验证工作。只需创建这个类的一个新实例,指向一个指定的文件路径,系统就会负责完成余下的工作。你可以轻松地读写或追加文件,这个类再加上PHP 5新增的异常处理系统将处理所有验证。

代码

从代码和注释中完全可以了解代码是如何工作的。这个类中唯一真正复杂的部分已经在前面的例子中讨论过。使用这个类的方法相当多,也很让人兴奋。例如考虑下面这个例子:

工作原理

可以看到,读写已经充分简化。只需实例化一个cfile对象,从这个对象传递适当的参数就可以进行读写。read()函数从文本文件返回一个完整的字符串,write()方法会自动将指定的文本写入文件,append()方法将指定的文本增加到文件末尾。总地说来,与每次验证是否打开和关闭文件相比,写$myfile->read()要容易得多,也高效得多。

处理目录

就像文件一样,PHP 5在解析和读取目录方面也有不俗的表现。实际上,想想看,使用递归功能可以有效地搜索和输出整个目录结构,所以PHP的目录处理功能相当灵活。这种算法可以大大节省开发时间。下面的例子展示了在处理一个文件服务器目录列表时PHP提供了多么强大的功能。

PHP 5提供了一些方便的目录解析函数。opendir()会打开一个目录进行读取、is_dir()验证一个目录是否存在、readdir()解析一个目录、closedir()用于关闭一个打开的目录、scandir()允许扫描一个目录来得到由目录中的文件构成的一个数组。这些函数非常有用,其原型如下:

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论