第12章 PHP中的文件与目录的处理(《PHP开发从入门到精通》)_第1页
第12章 PHP中的文件与目录的处理(《PHP开发从入门到精通》)_第2页
第12章 PHP中的文件与目录的处理(《PHP开发从入门到精通》)_第3页
第12章 PHP中的文件与目录的处理(《PHP开发从入门到精通》)_第4页
第12章 PHP中的文件与目录的处理(《PHP开发从入门到精通》)_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

同其他很多语言一样,数据的存储一般有两种方式:文件和数据库。文《PHP开发从入门到精通》第12章PHP中的文件与目录的处理-网站开发专用书件存储通常是针对文本文件而言的,适用于存储量不是很大,而且比较简单、安全性要求不是很严格的数据。本章详细介绍目录和文件的相关操作,主要内容包括目录的创建以及操作,文件的打开、读取、复制和移动等操作。【例12-1】目录实例——创建目录《PHP开发从入门到精通》目录在PHP开发中有着非常重要的作用,通过使用目录和子目录对存储在服务器上的数据作进一步的分类与存储。在使用目录时,常见的操作包括以下几个:打开目录opendir()。语法格式如下:

int

dir_handle

opendir(string

path)其中,参数path为目录的路径及目录名。函数返回值为可供其他目录函数使用的int型句柄。关闭目录closedir()。语法格式如下:

closedir(int

dir_handle)其中,参数dir_handle为已经用opendir()函数打开的可操作目录句柄。函数无返回值,运行后,将关闭打开指向dir_handle的目录。读取目录里的文件readdir()。语法格式如下:

string

readdir(resource

dir_handle)其中,参数dir_handle为已经用opendir()函数打开的可操作目录句柄。函数返回目录中的文件名称。【例12-1】目录实例——创建目录《PHP开发从入门到精通》(4)创建目录mkdir()。语法格式如下:bool

mkdir

(

string

pathname

[,

int

mode]

)尝试新建一个由pathname指定的目录。返回值为逻辑值,若创建目录成功则返回TRUE,否则返回FALSE。默认的mode是0777,意味着最大可能的访问权。要确保正确操作,必须给mode前面加上0。mode参数包含3个八进制数,按顺序分别指定了所有者、所有者所在的组以及

所有人的访问限制。每一部分都可以通过加入所需的权限来计算出所要的权限。数字1表示使文件可执行,数字2表示使文件可写,数字4表示使文件可读。加入这些数字来制定所需要的权限。如:0600:所有者可读/写,其他人没有任何权限。0644:所有者可读/写,其他人只有读的权限。0755:所有者拥有所有可能的访问权,其他人拥有只读与执行的权限。0750:所有者拥有所有可能的访问权,所有者所在组拥有只读与执行的权限。【例12-1】目录实例——创建目录《PHP开发从入门到精通》删除目录unlink()。语法格式如下:bool

rmdir(stringdirname)删除指定的目录dirname,返回一个逻辑值,参数dirname为字符变量,为想要删除的目录名。删除目录前务必确保目录存在,或者目录已经为空,否则会提示错误信息。不能删除不存在的目录和不为空的目录。【例12-2】文件实例——计数器《PHP开发从入门到精通》文件的相关函数如下:判断文件是否存在的函数file_exists()。语法格式如下:

bool

file_exists(string

filename)判断filename指定的文件或目录是否存在,若存在则返回TRUE,否则返回FALSE。打开文件函数fopen()。语法格式如下:

resource

fopen(string

filename,string

mode)函数打开本地或者远程文件,参数filename是需要打开的文件名,为字符型变量。参数mode为打开的模式,有6种,如表12-1所示。【例12-2】文件实例——计数器《PHP开发从入门到精通》写入文件函数fwrite()。语法格式如下:int

fwrite

(

resource

handle,

string

string

[,

int

length]

)函数把string的内容写入文件句柄handle处。如果指定了length,当写入了length个字节或者写完了string以后,写入就会停止。返回值为写入的字符数,出现错误时则返回FALSE。读取文件内容函数fgetc()sfgets()sfgetss()sfile()sfread(读取文件内容的函数有很多,这里讲解常用的几个函数:1)fgetc()函数。语法格式如下:

string

fgetc(resource

handle)返回一个包含有一个字符的字符串,该字符从文件句柄handle指向的文件中得到。碰到EOF则返回FALSE。文件句柄handle必须是有效的,并且必须指向一个由fopen()或其他文件打开语句成功打开的文件。【例12-2】文件实例——计数器《PHP开发从入门到精通》2)fgets()函数。语法格式如下:string

fgets

(

int

handle

[,

int

length]

)从文件句柄handle指向的文件中读取一行字符,字符长度最多为length-1个字节。遇到以下三种情况会停止读取字符:遇到换行符(包括在返回值中)。

遇到EOF文件末尾。已经读取了length-1字节。若没有指定length,则默认为1024字节。读取数据失败,则返回逻辑值FALSE。【例12-2】文件实例——计数器《PHP开发从入门到精通》fgetss()函数。语法格式如下:string

fgetss

(

resource

handle

[,

int

length

)用法与fgets()类似,也是按行返回文件的内容,但本函数会从读取的文本中去掉所有HTML和PHP标记。file()函数。语法格式如下:

array

file(string

filename)将文件filename所有的内容读入到一个数组中。该函数的返回值为保存文件filename所有内容的数组,数组长度为文件行数,文件的一行对应数组的一个元素。【例12-2】文件实例——计数器《PHP开发从入门到精通》5)fread()函数。语法格式如下:string

fread

(

int

handle,

int

length

)函数从指定文件句柄handle指向的文件中读取长度为length的字符串。(5)关闭文件函数fclose()。语法格式如下:

bool

fclose(resource

handle)关闭已经打开的文件handle。返回一个逻辑值,若关闭成功则返回TRUE,失败则返回FALSE。【例12-2】文件实例——计数器《PHP开发从入门到精通》删除文件函数unlink()。语法格式如下:

bool

unlink(string

filename)删除文件filename。返回一个逻辑值,若成功则返回TRUE,否则返回FALSE。若要删除本例中的counter.txt,语句如下:unlink($counter_file);复制文件函数copy()。语法格式如下:bool

copy

(

string

source,

string

destination

)将文件从source复制到destination。若成功则返回TRUE,否则返回FALSE。【例12-3】给出了详细的说明与讲解。移动文件。PHP中虽然提供了一个rename()函数可以进行文件的移动,但在移动过程中执行性能比较低。我们可以自定义一个移动文件的函数,文件名自定,函数流程为先将要移动的文件复制到目标位置,然后再将源位置的文件删除掉。【例12-3】复制、移动、删除文件实例《PHP开发从入门到精通》复制文件。采用函数copy()实现文件从一个位置复制到另一个位置。

COPY()的语法格式如下:bool

copy

(

string

source,

string

destination

)将文件从source复制到destination。若成功则返回TRUE,否则返回FALSE。移动文件。PHP中提供了一个移动文件的函数rename(string

source,string

destination),但该函数会影响到程序的性能,所以现在已经不经常使用了。本例采取自定义函数move_file()来实现文件从一个位置移动到另一个位置。【例12-3】复制、移动、删除文件实例《PHP开发从入门到精通》move_file()函数定义如下:function

move_file($source,$destination)//自定义移动文件函数{//复制文件//删除源位置文件if(copy($source,$destination)){echo"文件移动成功!";}else{echo"不能复制文件!";}unlink($source)or

die("不能删除文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论