版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、行知堂教育Document Processing文件处理行知堂教育学习目标学习目标掌握文件的打开与关闭掌握读写文件的多种方式掌握目录的打开与浏览掌握文件的上传下载异常定义异常处理方式行知堂教育格式:int fopen(string filename, string mode , int use_include_path); 参数filename是要打开的包含路径的文件名。参数mode是打开文件的方式。文件处理技术的基本操作文件处理技术的基本操作 打开文件 mode说明r只读方式打开文件r+读写方式打开文件 w只写方式打开文件,若文件不存在则创建该文件 w+读写方式打开文件,若文件不存在则创建该
2、文件 a写方式打开文件,指针指向文件尾,表示可以在文件中追加数据,若文件不存在则创建该文件 a+读写方式打开文件指针指向文件尾,表示可以在文件中追加数据,若文件不存在则创建该文件 b以二进制方式打开文件行知堂教育格式:格式:string fgetc(resource handle); fgetc()函数从文件指针中读取字符,返回包含一个字符的字符串。该字符从函数从文件指针中读取字符,返回包含一个字符的字符串。该字符从handle指向的文件中得到。指向的文件中得到。 文件处理技术的基本操作文件处理技术的基本操作 读取文件 行知堂教育q读取一行数据:fgets()和fgetss() fgets()
3、函数 函数声明:string fgets(int handle , int length);参数handle是被打开的文件,参数length是要读取的数据长度。函数能够实现从handle指向文件中读取一行并返回长度最大值为length-1个字节的字符串。在遇到换行符、EOF或者读取了length-1个字节后停止。 fgetss()函数 fgetss()函数是fgets()函数的变体,用于读取一行数据,同时fgetss()会过滤掉内容中的HTML和PHP标记。函数声明如下:string fgetss(resouce handle, int length , string allowable_ta
4、gs);文件处理技术的基本操作文件处理技术的基本操作 读取文件 行知堂教育qreadfile()函数readfile()函数用于读入一个文件并将其写入输出缓冲 函数声明如下:int readfile(string filename, bool use_include_path , resouce context);该函数用于读入一个文件并将其写入到输出缓冲。文件处理技术的基本操作文件处理技术的基本操作 读取整个文件行知堂教育文件处理技术的基本操作文件处理技术的基本操作 在PHP中可以使用fwrite()函数和fputs()函数向文件中写入数据。fputs()函数是fwrite()函数的别名,它
5、们的用法相同。fwrite()函数的语法如下:int fwrite(resource handle, string str , int length);把内容string写入文件指针handle处。如果指定了长度length,当写入了length个字节,写入就会停止。如果文件内容长度小于length,则输出全部文件内容。写入文件 行知堂教育unlink()函数用于删除文件,函数声明如下:bool unlink(string filename);使用时文件必须是关闭的。如果成功则返回true值,否则返回false值。 文件处理技术的基本操作文件处理技术的基本操作 删除文件 对文件的操作结束后,应
6、该关闭这个文件,否则可能引起错误。在PHP中可以使用fclose()函数来关闭文件,函数声明如下:bool fclose(resource handle);关闭文件 行知堂教育要实现拷贝文件可以使用copy()函数。该函数能够复制文件,函数声明如下:bool copy(string source , string dest);该函数将文件从source复制到dest。成功则返回true,否则返回false。下面将test.txt文件拷贝到本地目录下,并重命名为test1.txt,核心代码如下:运行结果如图所示。文件处理技术的基本操作文件处理技术的基本操作 拷贝文件 行知堂教育函数声明如下:bo
7、ol rename(string oldname,string newname);该函数把oldname重新命名为newname,成功则返回true,否则返回false。此处把这两个应用在一个实例中展示出来,先给文件重命名,然后移动到父目录中,核心代码如下:?php$old_name=test.txt;$new_name=test1;if(rename($old_name,$new_name)echo 重命名成功;if (rename($new_name,./$new_name) echo 移动文件成功文件内容为:;readfile(./$new_name);?文件处理技术的基本操作文件处理技
8、术的基本操作 移动和重命名文件 rename()函数行知堂教育目录作为一种特殊的文件,同样操作它的第一步也是打开。PHP使用opendir()函数来打开目录,函数声明如下:resource opendir(string path);函数opendir()的参数path是一个合法的目录路径,成功执行后返回目录的指针。下面介绍opendir()函数打开目录的一般流程,核心代码如下:目录操作技术目录操作技术 打开目录打开目录 行知堂教育在PHP中要读取已经打开目录中的数据可以使用readdir()函数,函数声明如下:string readdir(resource dir_handle);参数dir_
9、handle为使用opendir()函数打开一个目录返回的目录指针。该函数执行,返回目录下的一个文件的文件名,文件名以文件系统的顺序返回。读取结束时返回false值。目录操作技术目录操作技术 读取目录读取目录 行知堂教育创建目录是通过file_exists ()和mkdir()函数来实现的,函数的语法结构如下:bool file_exists ( string filename )file_exists()函数用来检查文件或目录是否存在,如果由 filename 指定的文件或目录存在则返回true,否则返回 falsebool mkdir(string pathname , int mode
10、);本函数建立名为pathname的目录,参数mode 以八进制的方式指定(0 xxx),在Windows下会被忽略。成功则返回true,失败返回false。目录操作技术目录操作技术 建立目录建立目录 行知堂教育既然可以创建一个目录,那么也可以删除一个目录。删除目录主要是通过is_dir()和rmdir()两个函数来实现的。bool is_dir ( string filename )如果文件名存在并且为目录则返回 true。如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。 bool rmdir ( string dirname )尝试删除 dirname 所指定的目
11、录。 该目录必须是空的,而且要有相应的权限。如果成功则返回 true,失败则返回 false。 目录操作技术目录操作技术 删除目录删除目录 行知堂教育在PHP中对于已经打开的目录,如果要转到另外一个目录,可以使用chdir()函数来实现该操作。函数声明如下:bool chdir(string directory);其中参数directory为新的目录,成功执行返回true,否则返回false。目录操作技术目录操作技术 改变目录改变目录 行知堂教育关闭目录可以使用closedir()函数,函数声明如下:void closedir(resource dir_handle);参数dir_handle
12、为使用opendir()函数打开的目录返回的目录指针。 目录操作技术目录操作技术 关闭目录关闭目录 行知堂教育要实现文件上传,首先要确认php.ini配置文件中的上传功能是否开启。在php.ini中找到FILE UploadS项查看上传功能是否开启。注意注意:enctype一定要设为multipart/form-data,否则不能上传文件。 文件上传和下载的技术文件上传和下载的技术 开启PHP文件上传功能 行知堂教育上传文件涉及到的参数上传文件涉及到的参数 file_uploads p是否允许通过HTTP上传文件,默认为ON即是开 upload_tmp_dir p用来说明PHP上传的文件放置的
13、临时目录 upload_max_filesize p允许上传文件大小的最大值,默认为2M post_max_size p控制在采用POST方法进行一次表单提交中PHP所能够接收的最大数据量。行知堂教育文件上传相关属性文件上传相关属性 使用$_FILE来接收上传的文件p$_FILESuserfilename 客户端机器文件的原名称。 p$_FILESuserfiletype 文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。 p$_FILESuserfilesize 已上传文件的大小,单位为字节。 p$_FILESuserfiletmp_name 文件被上传后在服务
14、端储存的临时文件名。 行知堂教育q通过链接方式下载 对于如何实现下载的功能有很多方法,最为常用的就是通过链接方式下载,格式如下:?phpecho 下载文件;?q应用header()函数实现下载 int header(string str);本函数实现送出HTTP协议的标头到浏览器,标头(header)是服务器以HTTP协议上传HTML资料到浏览器前所送出的字符串。header(Location:http:/localhost:8080/PHPDemo1/uploads/1.rar);文件上传和下载的技术文件上传和下载的技术 下载文件 行知堂教育q应用header()函数实现下载 在下面的实例中
15、,在index.php页中,用户必须接受服务条款才可以下载,单击“同意”按钮后,页面跳转到index_ok.php通过header()函数下载需要的文件。核心代码如下:index.php页面:如果你想下载该文件,请详细阅读下面的服务条款,你同意后方可下载index_ok.php页面:运行结果如图所示。文件上传和下载的技术文件上传和下载的技术 下载文件 行知堂教育异常(异常(Exception)的定义)的定义 异常:是在运行的代码序列中产生的一种异常情况 异常定义了程序中遇到的非致命的错误,而不是编译时的语法错误,例如:程序要打开一个不存在的文件、网络连接中断、数据库打开失败,装载一个不存在的类
16、等。当异常被触发时,通常会发生: 当前代码状态被保存 代码执行被切换到预定义的异常处理器函数 根据情况,处理器也许会从保存的代码状态重新开始执行代码,终止脚本执行,或从代码中另外的位置继续执行脚本 。行知堂教育Try, throw 和和 catch 处理处理程序应当包括: Try - 使用异常的函数应该位于 try 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。 Throw - 这里规定如何触发异常。每一个 throw 必须对应至少一个 catch Catch - catch 代码块会捕获异常,并创建一个包含异常信息的对象行知堂教育1) throw ne
17、w Exception(你所输入的值大于1); return true; try checkNum(2); echo 运行成功!; catch(Exception $e) echo Message: .$e-getMessage();?行知堂教育忽略异常忽略异常 前缀p将屏蔽表达式所有的错误信息p常常与die()或exit()函数一起使用p在开发过程中,记得多用print / echo和print_r / var_dump来跟踪得到的变量、对象或数组内容行知堂教育 $a=(1/0);/$a=(1/0);/$a=(1/0); $a=(1/0)or die(“正在执行操作!”); 如果有错则不会往下继续执行,正确时才不执行die; $a=(1/0)or exit(); 出错时才会执行exit,将会终断不再执行后面的. Trigger_error(“ 稍等”);发出一条通知但还会继续执行后面的.行知堂教育异常机制关键的好处异常机制关键的好处 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度地质灾害防治工程砂石料供应及场地租赁合同2篇
- 用工风险规避合同范例
- 2024年农村土地流转房屋租赁合同样本2篇
- 2024年白灰产品回收利用与环保处理合作协议3篇
- 光伏维修合同范例
- 2024IT程序员个人数据保护及保密协议模板3篇
- 2024年度租赁代理合同标的及代理服务条款3篇
- 迪拜买车合同范例
- 2024年版城市公共交通服务承包合同
- 2024年度融资租赁合同:飞机租赁与运营协议6篇
- 职称评聘评委承诺书
- 超声设备维修与保养教学课件
- 高中语文-《桂枝香金陵怀古》教学设计学情分析教材分析课后反思
- 《养成良好的学习习惯》主题班会教学反思3篇
- 2023年内蒙古自治区乡村医生招聘笔试模拟试题及答案解析
- 刑事诉讼法智慧树知到答案章节测试2023年山东建筑大学
- 新能源汽车概论试题库及答案
- GB/T 17468-2008电力变压器选用导则
- GB/T 12628-2008硬磁盘驱动器通用规范
- GA/T 1073-2013生物样品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、异丙醇和正丁醇的顶空-气相色谱检验方法
- 初级电焊工培训课件
评论
0/150
提交评论