版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文件处理 本讲大纲:1、打开/关闭文件 2、读写文件 3、操作文件 支持网站: 文件处理概述 文件处理包括读取、关闭、重写等,掌握文件的处理需要读者理清思路,掌握文件处理的关键步骤和常用函数,完全可以运用自如。 例如,访问一个文件需要3步:打开文件、读写文件和关闭文件。其他的操作要么是包含在读写文件中(如显示内容、写入内容等),要么与文件自身的属性有关系(如文件遍历、文件改名等)。 打开/关闭文件 1打开文件 在PHP中使用fopen()函数打开文件,fopen()函数的语法如下:resource fopen ( string filename, string mode , bool use_
2、include_path);filename是要打开的包含路径的文件名,可以是相对路径,也可以是绝对路径。如果没有任何前缀则表示打开的是本地文件。mode是打开文件的方式,可取的值如表13.1所示。use_include_path是可选的,该参数在配置文件php.ini中指定一个路径,如F:AppServ wwwmess.php,如果希望服务器在这个路径下打开所指定的文件,可以设置为1或 true。2关闭文件 对文件的操作结束后应该关闭这个文件,否则可能引起错误。在PHP中使用fclose()函数关闭文件,该函数的语法如下:bool fclose ( resource handle ) ; 该
3、函数将参数handle指向的文件关闭,如果成功,返回true,否则返回false。其中的文件指针必须是有效的,并且是通过fopen()函数成功打开的文件。例如:读写文件1从文件中读取数据 从文件中读取数据,可以读取一个字符、一行字串或整个文件,还可以读取任意长度的字串。1)读取整个文件:readfile()、file()和file_get_contents()(1)readfile()函数 readfile()函数用于读入一个文件并将其写入到输出缓冲,如果出现错误则返回false。函数语法如下:int readfile(string filename) 使用readfile()函数,不需要打开
4、/关闭文件,不需要echo/print等输出语句,直接写出文件路径即可。(2)file()函数 file()函数也可以读取整个文件的内容,只是file()函数将文件内容按行存放到数组中,包括换行符在内。如果失败则返回false。函数语法如下:array file(string filename)(3)file_get_contents()函数 该函数将文件内容(filename)读入一个字符串。如果有offset和maxlen参数,将在参数offset所指定的位置开始读取长度为maxlen的内容。如果失败,返回false。函数语法如下:string file_get_contents(stri
5、ng filename,int offset,int maxlen)该函数适用于二进制对象,是将整个文件的内容读入到一个字符串中的首选方式。 读写文件2)读取一行数据:fgets()和fgetss()(1)fgets()函数 fgets()函数用于一次读取一行数据。函数语法如下:string fgets( int handle , int length )handle是被打开的文件,length是要读取的数据长度。 函数能够实现从handle指定文件中读取一行并返回长度最大值为length-1个字节的字符串。在遇到换行符、EOF或者读取了length-1个字节后停止。如果忽略length参数,
6、那么读取数据直到行结束。(2)fgetss()函数 fgetss()函数是fgets()函数的变体,用于读取一行数据,同时,fgetss()函数会过滤掉被读取内容中的html和php标记。函数语法如下string fgetss ( resource handle , int length , string allowable_tags ) 该函数能够从读取的文件中过滤掉任何html和php标记。可以使用allowable_tags参数来控制哪些标记不被过滤掉。读写文件3)读取一个字符:fgetc() 在对某一个字符进行查找、替换时,需要有针对性地对某个字符进行读取,在PHP中可以使用fgetc
7、()函数实现此功能。函数语法如下:string fgetc ( resource handle )该函数返回一个字符,该字符从handle指向的文件中得到。遇到EOF则返回false。 4)读取任意长度的字串:fread() fread()可以从文件中读取指定长度的数据,函数语法如下:string fread ( int handle, int length )参数handle为指向的文件资源,length是要读取的字节数。当函数读取length个字节或到达EOF时停止执行。 读写文件2将数据写入文件 写入数据也是PHP中常用的文件操作,在PHP中使用fwrite()和file_put_con
8、tents()函数向文件中写入数据。fwrite()函数也称为fputs(),它们的用法相同。fwrite()函数的语法如下:int fwrite ( resource handle, string string , int length )该函数把内容string写入文件指针handle处。如果指定了长度length,则写入length个字节后停止。如果文件内容长度小于length,则会输出全部文件内容。file_put_contents()函数是PHP 5新增的函数,其语法为:int file_put_contents ( string filename, string data , in
9、t flags)filename为写入数据的文件。data为要写入的数据。flags可以是FILE_USE_INCLUDE_PATH、FILE_APPEND或LOCK_EX,LOCK_EX为独占锁定。注意:使用file_put_contents()函数和依次调用fopen()、fwrite()、fclose()函数的功能一样。 操作文件 除了可以对文件内容进行读写,对文件本身同样也可以进行操作,如复制、重命名、查看修改日期等。PHP内置了大量的文件操作函数。bool copy( string path1, string path2):将文件从path1复制到path2。如果成功,返回true,
10、失败则返回false。例如:copy(tm.txt,./tm.txt)boolrename(stringfilename1,string filename2):把name1重命名为Name2。例如:rename(1.txt,tm.txt)bool unlink( string filename )删除文件,成功返回true,失败则返回False。例如:unlink(./tm.txt)int fileatime( string filename )返回文件最后一次被访问的时间,时间以UNIX时间戳的方式返回。例如:fileatime(1.txt)int filemtime( string fil
11、ename )返回文件最后一次被修改的时间,时间以UNIX时间戳的方式返回。例如:date(Y-m-d H:i:s, filemtime(1.txt)int filesize( string filename )取得文件filename的大小(bytes)。例如:filesize(1.txt)array pathinfo(string name , int options)返回一个数组,包含文件name的路径信息。有dirname、basename和extension。可以通过option设置要返回的信息,有PATHINFO_DIRNAME、PATHINFO_BASENAME和PATHINFO_EXTENSION。默认为返回全部。例如:$arr = pathinfo(/tm/sl/12/5/1.txt);foreach($arr as $method = $value)echo $method.“: ”.$value.“”;string realpath ( string filename )返回文件filename的绝对路径。如c:tmp1.txtrea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 25-羟基维生素D的临床意义与规范化解读
- 福建省泉州市2027年高三适应性调研考试物理试题(含答案解析)
- 2026年秋季幼儿园开学第一课:快乐交友成长启航
- 高中数学教研组长2026年上半年学科提质工作总结
- 井下作业汛期防水防漏安全课件
- 2026年秋季小学语文开学第一课 学科趣味入门教案
- 2026年秋季高中开学第一课 集体主义精神主题班会
- 第12课《短文二篇》课件 2026-2027学年统编版语文八年级上册
- 内镜下微创治疗新技术
- 康复医学科岗位职责培训
- GB/T 32682-2026塑料聚乙烯环境应力开裂(ESC)的测定全缺口蠕变试验(FNCT)
- 零售药店医疗保障内部管理制度
- 2026河北邢台市应急管理宣传教育培训中心招聘劳务派遣工作人员5名笔试备考题库及答案详解
- 2026年福建省乡总贸易有限公司员工招聘1人笔试模拟试题及答案详解
- 2026年主管护师真题(含答案)
- 2026年第十四师昆玉市事业单位面向师市在岗服务“三支一扶”人员开展专项招聘(14人)笔试备考试题及答案详解
- 英语()浙江Z20名校联盟(浙江名校新高考研究联盟)2026届高三第一次联考(8.21-8.23)
- 广东省佛山市2025-2026学年高一下学期期末考试语文试卷
- 肿瘤多学科会诊MDT模式介绍
- 2026湖北省选调生行测真题
- 2026年上海市杨浦区卫生健康系统人员招聘笔试参考题库及答案解析
评论
0/150
提交评论