文件操作.ppt

上传人:本田雅阁 文档编号:3201356 上传时间:2019-07-30 格式:PPT 页数:32 大小:1.85MB
返回 下载 相关 举报
文件操作.ppt_第1页
第1页 / 共32页
文件操作.ppt_第2页
第2页 / 共32页
文件操作.ppt_第3页
第3页 / 共32页
文件操作.ppt_第4页
第4页 / 共32页
文件操作.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《文件操作.ppt》由会员分享,可在线阅读,更多相关《文件操作.ppt(32页珍藏版)》请在三一文库上搜索。

1、,PHP动态网页设计,主讲教师:钱哨(副教授),PHP操纵文件一般分为五步进行,1、打开一个文件以供读写 2、从文件中读取数据 3、关闭这个文件 4、执行操作 5、将写入结果输出,4.1、打开文件(fopen()函数 ),格式: fopen ( string filename, string mode , bool use_include_path , resource zcontext ),将 filename 指定的名字资源绑定到一个流上。如果 filename 是 “scheme:/.“ 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚

2、未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。 如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。,二、读取文件(),格式: File(“string filename”),将文件内容以数组形式存储下来并给出布尔返回值,file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 F

3、ALSE。 如果文件中没有任何信息,则返回信息也是失败,(1)file()函数,实例,$lineContents) echo “Line #$lineNum:“ .htmlspecialchars($lineContents). “; ?,二、读取文件(),格式: string fread ( int $handle , int $length ),fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视

4、乎先碰到哪种情况。,(2)fread()函数,二、读取文件(),格式: string fgets( int $handle , int $length ),从文件指针中读取一行。并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。,(3)fgets()函数,二、读取文件(),格式: string fgetc ( resource $handle ),返回一个包含有一个字符的字符串,该字符从 handle 指向的文件中

5、得到。碰到 EOF 则返回 FALSE。,(4)fgetc()函数,二、读取文件(),array stat ( string $filename ); array fstat ( resource $handle ) 获取由 filename 指定的文件的统计信息。,(5)stat()和fstat()函数,获取文件的属性,二、读取文件(),综合案例,三、写入文件(fwrite ()函数),我们打开文件时使用ab文件模式,这样就可以保留原有数据。,格式 fwrite ( resource handle, string string ,int length),三、写入文件(fwrite ()函数)

6、,生成临时文件,格式 resource tmpfile ( void ),以读写(w+)模式建立一个具有唯一文件名的临时文件,返回一个与 fopen() 所返回相似的文件句柄。文件会在关闭后(用 fclose())自动被删除,或当脚本结束后。,删除文件(unlink ()函数),格式 bool unlink ( string $filename ),四、关闭文件(fclose 函数),格式 fclose ( resource handle),五、文件系统目录函数,(1)函数opendir(), closedir(), readdir() , rewinddir() opendir ( stri

7、ng $path , resource $context ) closedir ( resource $dir_handle ) readdir ( resource $dir_handle ) rewinddir ( resource $dir_handle ),打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。,五、文件系统目录函数,(2)directory类遍历目录 Directory /* 属性 */ public string $path ; public resource $handle ; /* 方法 */ public

8、 void close ( resource $dir_handle ) public string read ( resource $dir_handle ) public void rewind ( resource $dir_handle ) ,五、文件系统目录函数,(3)glob函数 glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。 返回一个包含有匹配文件目录的数组。如果出错返回 FALSE。 有效标记为: GLOB_MARK - 在每个返回的项目中加一个斜线

9、GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序) GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式 GLOB_NOESCAPE - 反斜线不转义元字符 GLOB_BRACE - 扩充 a,b,c 来匹配 a,b 或 c GLOB_ONLYDIR - 仅返回与模式匹配的目录项,五、文件系统目录函数,(4)mkdir函数 ,建立目录 mkdir ( string $pathname , int $mode , bool $recursive , resource $context ) 新建一个由 pathname 指定的目录,五、文件系统目录函数,(5)r

10、mdir函数 ,删除目录及文件 bool rmdir ( string $dirname ) 删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。成功时返回 TRUE, 或者在失败时返回 FALSE.,五、文件系统目录函数,(6)文件复制和重命名 Copy() Rename(),第四节 文件上传,在PHP中,它支持HTTP方式的文件上传,而非通过FTP软件将客户端文件传送至服务器。很多时候,比如在网上相册的程序、电子邮件附件上传的程序,都需要用到这个功能。,一、HTML中构建上传入口, 上传的文件 选择要上传的文件: , 标签中多了属性enctype=“multipar

11、t/form-data“。 上传文件所用的表单元素的类型是file。,二、处理文件上传,有过ASP无组件上传经验的人都知道,在ASP中想通过HTTP方式自由上传文件那是件多么困难的事情!而在PHP中编写捕获上传文件的代码显得非常直观。不过,在不同的PHP版本以及根据是否开启了register_globals指令,函数名称和变量名称会有些不同。下面将展示的代码并不需要开启register_globals指令,但是对PHP版本的要求是至少4.1。,$_FILES 数组,在PHP中,上传文件所产生的数据被保存在$_FILES数组中,同时,HTML表单中具有file类型属性的表单元素名称也将被保存。在

12、xhtml.html文件中,它的名称是filename,因此该数组将具有如下内容:,$_FILESfilenametmp_name:上传后存储在Web服务器临时目录中的文件名 $_FILESfilenamename:客户端上的原始文件名 $_FILESfilenamesize:文件的字节大小 $_FILESfilenametype:文件的类型(如:image/gif) $_FILESfilenameerror:上传文件过程中产生的错误描述。, 文件上传 0 ) echo 文件上传出错!; exit; if ( $type != image/gif ) echo 文件类型错误!; exit; ,

13、if ( is_uploaded_file($tmpName) ) if ( !move_uploaded_file( $tmpName, /upfiles/ .$name ) ) echo 文件移动失败!; exit; else echo 文件 .$name. 可能未被上传!; exit; echo 成功!; ? ,三、文件mime类型,类型写了一个对照表,现在奉献给大家:,四、文件下载,类型写了一个对照表,现在奉献给大家:,第五节 日期转换函数(microtime()函数 ),总结,本章着重讲了文件操作函数,以及它们各自所应用的场合。 fopen()函数和file()函数打开的文件易于读取,关闭一个以打开的文件用fclose()。其中只有file()函数返回的是数组类型值,fopen()和发fclose()函数返回的是布尔型值。,作业,1.请学员用将本章节的实例进行有效的检查。 2.见教材第133页。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1