版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文件上传和下载主讲:邮箱:微博:回顾n 在Windows系统下php识别的文件类型?n 遍历一个目录下的文件都需要哪些函数?n fopen打开一个文件都有哪些模式?预习检查n 在文件上传中客户端的表单中应做哪些设置?n 在全局数组$_FILES数组的第二维中都哪5项?n 伴随文件上传时产生的错误信息都有哪些?n 我们使用哪个函数来移动上传文件?本章任务1. 文件上传2. 多文件上传3. 文件下载1.文件上传1.1 客户端上传设置1.2 在服务器端通过PHP处理上传1.1 客户端上传设置v 在B/S程序中文件上传已经成为一个常用功能。其目的是客户可以通过浏览器(Browser)将文件上传到服务器
2、(Server)上的指定目录。v PHP中文件上传的基础知识: 客户端form表单 服务器端对上传文件的操作客户端文件上传的form表单:文件上传选择文件:注意几个特征属性:POST方法:n 表单最常用的功能,向目标页面传递变量,我们在上传文件的时候,会在表单中设置相应的属性,来完成文件的传递enctype=multipart/form-datan 这样服务器就会知道,我们要传递一个文件,这样服务器可以知道上载的文件带有常规的表单信息。MAX_FILE_SIZEn 此字段必须在文件输入字段之前,控制最大的传递文件的大小(字节)n 设置浏览器文件输入浏览按钮1.2在服务器端通过PHP处理上传上传
3、文件的接收和处理是通过PHP脚本来处理的,具体需要通过以下三个方面信息:n 设置PHP配置文件中的指令:用于精细地调节PHP的文件上能。n $_FILES数组:用于存储各种与上传文件有关的信息,其他数据还是使用$_POST获取。n PHP的文件上传处理函数:用于上传文件的后续处理。PHP配置文件中与文件上传有关的选项指令名默认值功能描述file_uploadsON是否开启文件上传upload_max_filesize2M限制PHP处理上传文件大小的最大值,此值必须小于post_max_sizepost_max_size8M限制通过POST方法可以接受信息的最大值, 也就是整个POST请求的提交
4、值。此值必须 大于upload_max_filesizeupload_tmp_dirNULL上传文件存放的临时路径,可以是绝对路径。默认NULL则使用系统的临时目录。$_FILES数组超级全局数组$_FILES1、$_FILESmyfilename中的值是:n 客户端文件系统的文件的名称2、$_FILESmyfiletype中的值是:n 客户端传递的文件的类型3、$_FILESmyfilesize中的值是:n 文件的字节的大小4、$_FILESmyfiletmp_name中的值是:n 文件被上传后在服务器存储的临时全路径5、$_FILESmyfileerror中的值是:n 文件上传的错误代码p
5、hp 4.2以后增加的功能存储在$_FILESmyfileerror中的值伴随文件上传时产生的错误信息代码是在PHP4.2.0版本中引入的,具体如下:n 值为0:表示没有发生任何错误。n 值为1:表示上传文件的大小超出了约定值。文件大小的最大值是在PHP配置文件中指定的,该指令是:upload_max_filesize。n 值为2:表示上传文件大小超出了HTML表单隐藏域属性的MAXFILESIZE元素所指定的最大值。n 值为3:表示文件只被部分上传。n 值为4:表示没有上传任何文件。n 值为6:表示找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。n 值为7:表示文件写入
6、失败。PHP 5.1.0 引进。错误值对应的常量UPLOAD_ERR_OKUPLOAD_ERR_INI_SIZE UPLOAD_ERR_FORM_SIZE UPLOAD_ERR_PARTIALUPLOAD_ERR_NO_FILE:对应值0对应值1 对应值2 对应值3对应值4UPLOAD_ERR_NO_TMP_DIR :对应值6UPLOAD_ERR_CANT_WRITE :对应值7常见数据格式(MIME)文件类型MIME类型图片文件image/gif,image/jpg,image/jpeg,image/png, image/x-png纯文本和HTMLtext/txt,text/plain,te
7、xt/html二进制文件application/octet-stream音频格式audio/basic视频格式video/mpegPHP的文件上传处理函数上传成功的文件会被放置到服务器端临时目录下,文件名是随机生成的临时文件名。注:该文件在程序执行完后将自动被删除掉。在删除前可以像本地文件一样操作。文件上传处理函数:n is_uploaded_file 判断文件是否是通过 HTTP POST 上传的格式:bool is_uploaded_file ( string $filename )n move_uploaded_file 将上传的文件移动到新位置格式:bool move_uploaded
8、_file ( string $filename , string$destination )注意:如果目标文件已经存在,将会被覆盖。 0) echo 上传错误: ;switch ($_FILESmyfileerror) case 1:case 2:case 3:case 4:case 6:case 7:die(上传文件大小超出了PHP配置中的约定值:upload_max_filesize);die(上传文件大小超出了表单中的约定值:MAX_FILE_SIZE);die(文件只被部分上载);die(没有上传任何文件);die(找不到临时文件夹);die(文件写入失败);default: die
9、(末知错误);/2. 判断上传的文件是否为充许的文件类型,通过文件的后缀名$hz = array_pop(explode(., $_FILESmyfilename);/3. 通过判断文件的后缀方式,来决定文件是否是充许上传的文件类型if(!in_array($hz, $allowtype) die(这个后缀是$hz,不是充许的文件类型!);/4. 判断上传的文件是否为充许大小if($_FILESmyfilesize $size ) die(超过了充许的$size字节大小);/5. 为了系统安全,也为了同名文件不会被覆盖,上传后将文件名使用系统定义$filename = date(YmdHis).rand(100,999).$hz;/6. 判断是否为上传文件if (is_uploaded_file($_FILESmyfiletmp_name) if (!move_uploaded_file($_FILESmyfiletmp_name, $path./.$filename) die(问题: 不能将文件移动到指定目录。);elsedie(问题: 上传文件$_FILESmyfilename不是一个合法文件: );/7. 如果文件上传成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【小学课件】体积单位的换算
- 《药品管理制度》课件
- 《电气设备故障诊断》课件
- 《红楼梦》的英文简介
- 单位人力资源管理制度呈现汇编十篇
- 单位管理制度展示汇编职工管理篇十篇
- 单位管理制度展示大全人员管理篇十篇
- 智慧农贸冷链物流基地项目可行性研究报告模板立项审批
- 单位管理制度收录大合集职员管理十篇
- 博物馆对外文标识统一规范自查报告
- 人教版四年级数学上册寒假每日一练
- GB/T 11352-2009一般工程用铸造碳钢件
- 2022年新媒体编辑实战教程测试题及答案(题库)
- 岗位现场应急处置方案卡全套(全套20页)
- 清华大学宝玉石鉴赏标准答案
- 凉席竹片铣槽机(课程设计)
- 高压线防护搭设方案
- 中西医结合科工作制度、规章制度、岗位制度与说明书
- 综合机械化固体充填采煤技术要求-编制说明
- 十人联名推荐表
- 七、分蛋糕博弈
评论
0/150
提交评论