PHP学习笔记之PHP文件上传(五)
来源:互联网 发布:平台软件开发合同 编辑:程序博客网 时间:2024/06/05 07:56
文件上传的相关配置
表单设置
- 设定表单数据的提交方式为POST
- 设定enctype属性值为:
multipart/form-data
- 为了避免用户等待许久之后才发现上传文件太大,可以在表单中添加
MAX_FILE_SIZE
隐藏域,用过设置其value值可以限制上传文件的大小
//form表单数据以"post"方式传输到"file.uploads.php"页面<form action="file.uploads.php" method="post"> //上传文件标签 <input type="file" name="file"> //设置上传文件的最大值 <input type="hidden" name="MAX_FILE_SIZE" vale ="1024"> //提交标签 <input type="submit"></form>
PHP设置
file_uploads
是否允许通过HTTP上传文件,默认为ONupload_max_filesize
允许上传文件大小的最大值,默认为2M,此指令必须小于post_max_size
;upload_tmp_dir
指定上传文件的临时存放路径,这个目录对于拥有此服务器进程的用户必须是可写的,如果未指定则使用系统默认值;post_max_size
控制POST方式提交数据PHP所能接收的最大数据量
二. _FILES数组
- $_FILES超全局变量作用是存储各种与上传文件有关的信息
- $_FILES是一个二维数组,数组中共有五项
$_FILES["userfile"]["name"]
上传文件的名称$_FILES["userfile"]["type"]
上传文件的类型$_FILES["userfile"]["size"]
上传文件的大小$_FILES["userfile"]["tmp_name"]
文件上传后在服务器端储存的临时文件名$_FILES["userfile"]["error"]
文件上传相关的错误代码
三.上传错误信息
$_FILES["userfile"]["error"]
提供了在文件上传过程中出现的错误:
- 1.
UPLOAD_ERR_OK (value = 0)
如果文件上传成功返回0; - 2.
UPLOAD_ERR_INI_SIZE (value = 1)
如果试图上传的文件大小超出了 uploadmaxfilesize指令指定的值,则返回1; - 3.
UPLOAD_ERR_FORM_SIZE (value = 2)
如果试图上传的文件大小超出了MAXFILESIZE指令(可能嵌入在HTML表单中)指定的值,则返回2; - 4.
UPLOAD_ERR_PARTIAL (value = 3)
如果文件没有完全上传,则返回3; 如网络出现错误,导致上传过程中断; - 5.
UPLOAD_ERR_NO_FILE (value = 4)
如果用户没有指定上传的文件就提交表单,则返回4;
四.文件上传函数
4-1.is_uploaded_file()
is_uploaded_file(filename)
函数确定参数filename指定的文件是否使用HTTP POST上传,例如:
//获取上传文件的信息$file = $_FILES["file"];//输出该信息print_r($file);//判断上传的文件是否使用http post上传if(is_uploaded_file($file['tmp_name'])){ //是则负责上传文件 copy($file['tmp_name'],"test2.txt");}else{ //否则输出上传失败 echo"文件上传失败"}
4-2.move_uploaded_file()
move_uploaded_file(filename,url)
作用是将上传文件从临时目录移动到url目标目录;虽然copy()也可以实现同样的功能,但move_uploaded_file(filename,url)
还提供了一种额外的功能,它将检查由filename输入参数指定的文件确实是通过 http post 上传机制上传的,如果指定的文件并非上传文件,则移动失败,返回false
//获取上传文件信息$file = $_FILES["file"];//移动上传文件到目标目录,返回bool值$bol = move_uploaded_file($file["tmp_name"],"upload/".$file["name"]);if($bol){ //移动成功则输出"上传成功",并且使用javescript代码设置2秒跳转回原来上传的页面 echo "上传成功<script>setTimeout(function(){location.href='upload,html'},2000)";}else{ //失败则输出"上传失败" echo "上传失败"}
0 0
- PHP学习笔记之PHP文件上传(五)
- PHP学习笔记之上传文件
- php 学习笔记 -- 文件(五)
- [PHP]文件上传学习笔记
- PHP学习笔记:文件上传
- PHP学习之文件上传
- PHP学习之PHP上传文件
- PHP开发学习笔记之上传多文件
- php学习笔记(五)
- PHP上传文件(学习)
- PHP 文件上传表单 ~~学习笔记
- php学习笔记(十)文件的上传与下载
- php学习笔记(十一)文件上传类的编写
- PHP学习笔记五
- 黑马程序员---struts2学习笔记之五(文件上传)
- PHP学习系列之文件上传
- php学习笔记:上传
- PHP上传文件学习
- 记一篇关于android PopupWindow
- LDD之PCI设备
- 1.6
- Unity调用android的方法,android调用Unity的方法,unity和安卓的交互
- 《合成孔径雷达成像——算法与实现》之【13】仿真图5.18
- PHP学习笔记之PHP文件上传(五)
- 单例模式的使用与说明
- spring framework里定义的四种原声态类型
- 文章标题
- td firstChild 只要换行就出不来,好奇怪
- Android事件传递机制分析
- HTML5+CSS3+JS学习笔记-13-CSS3之box-sizing
- JFinal连接SQL Server 2008 R2数据库
- 持久化含义