- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务四 表单数据的提交主要知识点表单数据的验证系统数组$_POST和$_GET在接收表单数据中的应用系统数组$_FILES在上传文件中的应用
4.3 文件上传功能实现你在哪些网站或应用程序中上传过文件?文件上传功能需要解决的问题:浏览器端(表单中)如何增加上传文件的功能服务器端如何获取上传文件的信息并按指定位置保存上传文件
浏览器端的设置浏览器端需要做如下设置第一,需要在表单标记中设置Enctype属性值为multipart/form-data,只有设置为multipart/form-data编码格式,才能完成传递文件数据;另外完成文件上传时,表单中method属性取值需要设置为post。第二,action属性必须指定能够接收并处理上传文件的PHP文件。第三,必须在表单界面中增加文件域元素,使用input标记的type属性值 “file”来生成文件域元素,同时设置name属性的取值。
例题创建页面文件up.html,设计如图所示表单界面,设文件域元素名称为file1
4.3.2 服务器端的功能设置服务器端功能说明服务器端获取上传文件的信息上传文件包括文件名、文件类型、文件大小、存储位置等相关信息在服务器端需要通过系统数组$_FILES获取这些信息问题导入:作为一个系统数组, $_FILES的键名如何?
系统数组$_FILES的应用数组的键名系统内置数组$_FILES是一个二维关联数组,第一个维度的键名是表单界面中文件域元素name属性的取值,若是存在多个文件域元素,则它们的name属性取值都各不相同;第二个维度的键名则是由系统提供的固定键名,常用的有name、type、size、tmp_name和error。
$_FILES数组第二个键名的用法假设文件域元素name属性取值为file1,则第二个键名的用法和说明如下:$_FILES[file1][name]:表示被上传文件的名称;$_FILES[file1][type]:表示被上传文件的类型;$_FILES[file1][size]:表示被上传文件的大小,以字节计;$_FILES[file1][tmp_name]:表示存储在服务器的文件的临时副本的名称;$_FILES[file1][error]:表示由文件上传导致的错误代码。
将上传文件的大小使用kB表示函数round()的应用$size=round($_FILES[f1][size]/1024,2). kB函数round()对第一个参数指定的数据进行四舍五入,保留的小数位数由第二个参数指定
例题创建up.php文件,获取up.html中文件域元素file1所上传的文件信息,并输出,结果如图所示
思考问题根据前面观察的效果,上传的文件默认存放在哪里?文件名称如何?如何将用户上传的文件使用指定名称保存在指定位置?上传的文件,默认存放在系统盘符下的存放临时文件的文件夹中,文件的名称也采用了临时名称形式。使用函数move_uploaded_file()完成
函数move_uploaded_file()函数move_uploaded_file()格式:move_uploaded_file(参数1, 参数2)作用:将参数1指定的临时文件存储到参数2中指定的位置并更换为参数2中指定的文件名称参数1通常是$_FILES[file][tmp_name]参数2中“位置”使用一个文件夹来指定,文件名称则使用$_FILES[file][name]得到。将上传文件保存到指定位置,相当于对文件做了移动和重命名工作。
函数move_uploaded_file() 的编码问题函数move_uploaded_file() 只支持 GB2312 或者是 GBK 编码,并不支持 UTF-8 编码,若是页面字符集编码类型是UTF-8,并且上传的文件名称包含汉字,该函数将无法成功执行。因此,在使用该函数之前,需要先使用 iconv() 函数转换名称中的汉字编码来解决问题,应用iconv()函数之后的代码如下:$fname = iconv(UTF-8, GB2312, $_FILES[file1][name])
完成文件上传示例修改up.php文件,在最后增加代码,将上传的文件保存到upload文件夹中(必须要先在up.html和up.php文件所在位置创建文件夹upload)
课堂练习在4-1.html页面中“个人介绍”行下面增加如图所示的界面效果,写出相应的界面代码(文件域元素名称为tximg),之后修改4-1.php文件,增加代码获取上传的头像文件信息,并将头像显示在浏览器中(效果如图所示)。
4.3.5 多文件上传使用HTML5表单元素新属性multiple设置允许多文件上传在服务器端实现多文件的接收与存储
multiple属性multiple 属性规定输入域
原创力文档


文档评论(0)