PHP课件第9周文件与目录操作

上传人:E**** 文档编号:91249569 上传时间:2019-06-26 格式:PPT 页数:35 大小:206.50KB
返回 下载 相关 举报
PHP课件第9周文件与目录操作_第1页
第1页 / 共35页
PHP课件第9周文件与目录操作_第2页
第2页 / 共35页
PHP课件第9周文件与目录操作_第3页
第3页 / 共35页
PHP课件第9周文件与目录操作_第4页
第4页 / 共35页
PHP课件第9周文件与目录操作_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《PHP课件第9周文件与目录操作》由会员分享,可在线阅读,更多相关《PHP课件第9周文件与目录操作(35页珍藏版)》请在金锄头文库上搜索。

1、第9周 操作文件和目录(10章),课前回顾 字符串定义(掌握) 字符串输出(掌握) 字符串索引(掌握) 字符串操作符(掌握) 字符串处理(重点) 其他字符串函数(重点),本节目标 路径与磁盘操作(了解) 操作目录(了解) 操作文件(重点) 读取和写入文件(重点),9.1 路径与磁盘操作,文件系统函数操作文件的同时,一定会涉及到对路径的相关操作。路径又分为相对路径和绝对路径,相对路径是以操作的文件所在目录为起点的路径;绝对路径是以当前文件所在盘符为起点的路径。本节主要介绍关于路径和磁盘方面的函数。,9.1.1 获取文件路径的信息,使用pathinfo()函数,可以对指定的路径和文件名进行解析,并

2、返回一个数组。下面演示pathinfo()函数的使用方式, 获取文件路径的信息 $value) echo “$key=$value“; ?,9.1.2 获取路径中的文件名部分,虽然pathinfo()函数返回的数组,已经包括了指定路径与文件名的文件名部分,但其值是保存的数组里的。PHP提供了basename()函数,可以快速的获取指定文件的文件名部分,而不用从数组中读取。下面演示basename()函数的使用方法,代码如清单所示。 清单 获取路径中的文件名部分 ,9.1.3 获取路径中的目录部分,使用dirname()函数,可以快速的获取指定文件的目录部分。 dirname()函数是根据目录分

3、割符,来取得路径中路径部分的。在windows系统下,“/”与“”都可以作为目录分割符,其他系统使用“/”作为分割符。,9.1.4 寻找与模式匹配的文件路径,glob()函数可以根据指定的条件,来寻找与条件相符的文件或目录,并通过数组返回。 代码清单 寻找与模式匹配的文件路径 “; ?,9.2 操作目录,目录在文件系统中是一个重要的概念,专业的术语把其解释成存储在磁盘上的文件及其他目录的索引,也可以将其视为一个文件夹,在文件夹中,可以放置其他的文件或文件夹,从而使得计算机的文件系统井井有条。最顶层的目录称为根目录,在PHP中用“/”或“”代表。“.”代表当前目录,“”代表上级目录。,9.3.1

4、 打开目录句柄,目录和文件的访问,都是通过句柄实现的,使用opendir()打开一个目录句柄,以便其他目录函数使用 ,9.3.2 新建目录,新建和删除目录属于文件系统函数 /默认的 mode 是 0777,意味着最大可能的访问权,9.3.3 删除目录,rmdir()函数会试图删除要求的目录,但是目录必须为空并具有相应的权限。代码如下所示。 删除目录要注意的问题: 以上代码尝试删除根目录下名为“temp”的目录。 目录删除成功将返回TRUE,如果删除失败将返回FALSE,并显示错误信息,可以使用“”符号来抑制错误信息的输出。,9.3.4 取得当前工作目录,getcwd()函数用于获取当前的工作目

5、录,通过对返回值的判断,确定当前操作的目录是否正确。代码如下所示。 获取当前工作目录时要注意的问题: 此函数运行时将返回一个字符串,记录当前目录情况。 失败将返回FALSE。,9.3.5 改变当前目录,通过操作chdir(),可以改变当前目录,以定位到可用资源,改变当前目录的演示代码如下所示。 ”; / 显示当前目录 chdir(html); /改变当前目录 echo getcwd().“”; / 显示当前目录 ? 在使用chdir()函数时,要注意以下问题: 本例中的chdir()将当前目录更改为“html”。 成功返回TRUE,失败将返回FALSE。,9.3.6 从目录句柄中读取条目,使用

6、readdir()函数,会从目录句柄中读取下一个文件的文件名。配合while循环可以实现对目录的遍历 ; while (false != ($file = readdir($handle) echo “$file“; closedir($handle); ?,9.3.7 列出指定路径中的文件和目录,使用scandir()函数可以实现这个功能,并能按照参数对列出的目录进行排序,默认的排序顺序是按字母升序排列。如果使用了可选参数 (第二个参数设为 1),则排序顺序是按字母降序排列。 ,9.3.8 关闭目录句柄,在使用完opendir()打开的目录句柄后,应使用closedir()进行关闭,以节省服

7、务器资源,代码如下所示。 ,9.3.9 directory类,为了方便用户对目录的操作,PHP提供了一个类似使用面向对象机制的函数,它实际上相当于使用readdir()、rewind()、closedir()三个函数实现遍历目录的功能 handle.“; echo “路径:“.$dir-path.“; while(false != ($entry = $dir-read() echo $entry.“; $dir-close(); ?,9.4 操作文件的一般方法,刚才学习了使用相关目录函数对目录进行新建、打开、删除、读取及关闭等操作。在这一节中将学习操作文件的一般步骤,即:打开、读取、写入、关

8、闭。而本节很多知识与上一节是相通的,如目录的打开与文件的打开,只不过它们使用的函数不一样而已。,9.4.1 判断文件是否存在,通过file_exists()函数来判断文件或文件夹是否存在,这样在实际应用中可以避免很多错误的产生. ,9.4.2 打开文件,在学习打开文件之前先看一段代码。代码如下所示。 ,9.4.2 读取文件,文件操作中最频繁的应该是读取操作,所以在读取文件时一定要注意优化代码,这样才能从代码层面提高程序质量 代码里的fread(),就是基本的读取文件函数,它的原型如下所示。 string fread ( int $handle, int $length ),9.4.3 写入文件

9、,写入文件操作具有重大的意义,软件运行时计算出来的数据,用户提交、修改的信息,通常都需要保存下来,供以后使用。而把数据写入文件,就是其中的解决方案之一。为了方便理解,先看一段简单的写入文件的程序,代码如下所示。 ,9.4.4 关闭文件,关闭文件正确的说法是关闭一个已经打开的文件句柄,在上面几个小节的学习中,都使用了这个函数,即:fclose(); fclose()只有唯一的一个参数,即文件句柄。使用fopen()或fscokopen()成功打开的句柄,都可以使用其来关闭。,9.5 文件的基本操作,在上一节中学习了操作文件的一般步骤,以及一些基础的文件系统函数。本节是在上节内容的基础上学习更多的

10、文件系统函数及操作文件的技巧。,9.5.1 在当前目录新建文件,新建文件使用的函数还是fopen(),只不过是通过对fopen()的$mode值的选择来完成。 使用fopen()函数新建文件时,要注意以下几个问题: 这段简单的代码完成了在当前目录新建一个名为“model.txt”文件,注意如果fopen()的第一个参数是“html/model.txt”时,程序会在当前目录的子目录“html”,创建“model.txt”文件。 即使再短的打开文件操作,也应该使用关闭句柄函数。,9.5.2 删除文件,使用unlink()函数,可以删除程序运行时产生的临时文件,删除文件的演示代码如下所示。 unli

11、nk()函数有1个参数,即要删除文件的路径与文件名。 注意:使用unlink()函数删除文件时,如果删除成功,函数将返回TRUE值,如果删除失败,函数将返回FALSE值。,9.5.3 复制文件,复制文件就是根据源文件的内容,建立一个拥有同样内容的新文件。在不想破坏操作文件时,可以通过复制源文件,对新产生的文件进行操作。复制文件使用copy()函数实现,演示代码如下所示。 ,9.5.4 移动、重命名文件或目录,使用rename()函数,可以移动、重新命名一个已经存在的文件或目录,演示代码如下所示。 ?php /定义一个变量,保存文件名 $file = “html/cache.txt“; $ren

12、ame = “html/renameCache.txt“; /使用rename()函数重命名一个文件 if(rename($file,$rename)=TRUE) echo “重命名文件成功!“; else echo “重命名文件失败!“; ,9.5.4 移动、重命名文件或目录,/使用rename()函数移动文件,并改名 rename(“html/renameCache.txt“,“html/a/2.txt“); /使用rename()函数重命名目录 rename(“html“,“cache“); /使用rename()函数移动目录到目标目录 rename(“b“,“cache/b“); ?,

13、9.6 写入文件,前面介绍过使用fwrite()函数写入文件的方法,在文件系统函数中,还可以使用fputs()、fputcsv()、file_put_contents()函数来把内容写入文件。 fputs()是fwrite()函数的别名,这两个函数的实现的功能是一样的,fputcsv()函数可以把数组按指定的规则写入文件,而file_put_contents(),可以把一个字符串直进写入文件。这3个函数各有特点,在实际应用中,就根据情况选择使用。,9.6.2 将字符串写入文件,使用file_put_contents()函数,可以把一个字符串变量写入文件。此函数与fwrite()函数的不同之处在

14、于,fwrite()函数需要一个fopen()或类似函数创建的句柄,file_put_contents()只需要运行函数本身。 ,9.7 文件的读取与指针,文件读取函数分为两种,一种是把文件全部读入内存的函数,如file_get_contents()函数;一种是依靠文件内部的指针,来读取文件内容的函数,如fread()函数。这两种函数都有其优缺点,在实际应用中,可以根据情况选择。,9.7.1 把整个文件读入到数组中,file()函数读取文件后,返回1个数组,其中数组的每个单元对应着文件的1行(包括换行符)。file()函数不仅可以读取本地文件,还可以从网页中读取信息 “; ?,9.7.2 将文件读取到字符串,使用file_get_contents()函数,可以把参数指定的文件,整个读取到1个字符串变量中。 ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号