PHP学习笔记(十二):$_FILES超级全局变量(借助网上社区项目的上传图片功能进行介绍)
来源:互联网 发布:视频格式转换软件电脑 编辑:程序博客网 时间:2024/05/22 20:17
一、这个变量是一个二维数组,用来保存通过 HTTP POST 方式上传到当前脚本的项目的内容
eg:
<?phpecho $_FILES['imageaddress']['name'];//显示表单上传的文件名字,其中imageadress是表单中input元素的name?>具体实现需要两个php文件,一个表单输入文件form.php,一个上传提交文件form_submit.php
(1)form.php代码:
<?php header('content-type:text/html;charset=utf-8'); ?> <!-- 作者:1121263265@qq.com 时间:2015-07-07 描述:通过表单上传文件,点击提交,页面跳转到form_submit.php,那边再调用$_FILES变量,可以查看上传的文件信息 --> <form enctype="multipart/form-data" action="form_submit.php" method="post"> <input name="imageadress" type="file"> <input type="submit" value="上传文件"></form>(2)form_submit.php代码:
//下面是完整的上传过程if(is_dir("./bccdimages")==false){//判断指定的文件是否存在mkdir("./bccdimages");//如果不存在,则创建一个新的文件夹} $link=date("YmjHis");//获取当前时间//为表单中提交的数据重新命名,以当前时间和随机数作为名称,其中使用$_FILES获取表单中真实的名称,使用strstr函数获取文件的后缀$path=$link.mt_rand(1000000,9999999).strstr($_FILES["imageaddress"]["name"],".");$address="./bccdimages/".$path;//定义文件上传的路径move_uploaded_file($_FILES["imageaddress"]["tmp_name"],$address);//将文件上传到指定的文件中$imageaddress="./admin/bccdimages/".$path;//获取上传文件在服务器中的存储路径//将表单中提交的数据存储到数据库中$query=mysql_query("insert into tb_bccd(bccdname,owner,typeid,content,samepart,imageaddress,addtime) values('$bccdname','$owner','$typeid','$content','$samepart','$imageaddress','$addtime')",$conn);if($query==true){ echo "<script>alert('编程词典添加成功!');history.back();</script>";}else{echo "<script>alert('编程词典添加失败!');history.back();</script>";}?>二、下面是$_FILES参数的详细介绍:
原文地址:http://www.php100.com/html/php/hanshu/2013/0905/4666.html
$_FILES超级全局变量很特殊,他是预定义超级全局数组中唯一的二维数组。其作用是存储各种与上传文件有关的信息,这些信息对于通过PHP脚本上传到服务器的文件至关重要。此函数中总共有5项:
1.$_FILES["userfile"]["error"]
$_FILES["userfile"]["error"]数组值提供了与上传尝试结果有关的重要信息。总共有5个不同的返回值,其中一个表示成功的结果,另外4个表示在尝试中出现的特殊错误。灭个返回值的名字和将在后面介绍。
2.$_FILES["userfile"]["name"]
$_FILES["userfile"]["name"]变量指定客户端机器上声明的文件最初的名字,包括扩展名。因此,如果浏览器一个名为vacation.jpg的文件,并通过表单上传,则此变量的值将是vacation.png。
3.$_FILES["userfile"]["size"]
$_FILES["userfile"]["size"]变量指定从客户端上传的文件的大小,以字节为单位。因此,在vacation.jpg文件的例子中,此函数可能赋值为5253,大约为5kb.
4. $_FILES["userfile"]["tmp_name"]
$_FILES["userfile"]["tmp_name"]变量指定上传到服务器后为文件赋予的临时名。这是存储在临时目录(由PHP指令upload_tmp_dir指定)中时所指定的文件名。
5. $_FILES["userfile"]["type"]
$_FILES["userfile"]["type"]变量指定从客户端上传的文件的mime类型。因此,在vacation.jpg文件的例子中,此变量会赋值为image/jpeg。如果上传的是PDF,则赋值为application/pdf。因为这个变量有时会得到意外的结果,所以应当在脚本中显示地进行验证。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.
- PHP学习笔记(十二):$_FILES超级全局变量(借助网上社区项目的上传图片功能进行介绍)
- PHP学习笔记(十一):网上社区项目的知识点总结
- php文件上传之$_FILES全局变量用法介绍
- Ionic3学习笔记(十二)拍照上传图片以及从相册选择图片上传
- PHP学习笔记(07)——(超级全局变量及常量)
- php中文件上传$_FILES 的错误代码
- Struts2学习笔记(十二)文件上传
- PHP超级全局数组$_FILES
- PHP入门(7)-超级全局变量
- PHP图片上传时$_FILES为空解决
- php学习笔记(十二)NULL
- 上传文件的$_FILES
- 网上摸索,自己修改实现上传图片的功能
- php $_FILES处理文件上传
- PHP文件上传:\$_FILES数组及$_FILES['userfile']['error']中返回的错误代码
- php文件上传 $_FILES["file"]["type"]支持的类型
- php上传常见文件类型对应的$_FILES["file"]["type"]。
- struts2学习笔记(十二)多文件上传
- @autowired和@resource的区别
- Laravel 学习笔记——路由(基础)
- IOS-ASIHTTPRequest 断点续传
- logistic回归深入篇(1)
- 【tomcat】知识索引
- PHP学习笔记(十二):$_FILES超级全局变量(借助网上社区项目的上传图片功能进行介绍)
- 使用HTML5画布生成文字淡入淡出效果
- Android Studio 学习01
- Android之NDK初探
- django-simple-captcha & jquery validate
- Git学习资源推荐
- android: failed to find provider info for downloads
- codeforces 390d Inna and Sweet Matrix
- MFC网络编程学习