服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

php文件上传之$_FILES全局变量用法介绍

时间:2016-03-15 00:23来源: 作者: 点击:
本文章来简单的介绍一下在php中文件图片上传时的一个$_FILES重要的全局变量的参数,有需要了解的朋友可以参考一下. 文件上传表单的处理,代码如下: form action = post.php enctype = multipart/f
本文章来简单的介绍一下在php中文件图片上传时的一个$_FILES重要的全局变量的参数,有需要了解的朋友可以参考一下.
 
文件上传表单的处理,代码如下:
 
<form action="post.php" enctype="multipart/form-data" method="post"> 
<input name="MAX_FILE_SIZE" type="hidden" value="1000" /> 
<input name="upfile" type="file" /> 
<input type="submit" value="上传文件" /> 
</form> 
我们来看看files的变量的用法:
 
$_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.
 
好了下面我们来看个完整的实例,代码如下:
 
<html> 
<body> 
<form action="upload_file.php" method="post" 
enctype="multipart/form-data"> 
<label for="file">filename:</label> 
<input type="file" name="file" id="file" />  
<br /> 
<input type="submit" name="submit" value="submit" /> 
</form> 
</body> 
</html> 
//php代码 
<?php 
if ((($_files["file"]["type"] == "image/gif") 
|| ($_files["file"]["type"] == "image/jpeg") 
|| ($_files["file"]["type"] == "image/pjpeg")) 
&& ($_files["file"]["size"] < 20000)) 
  {//开源软件:最模板zuimoban.com 
  if ($_files["file"]["error"] > 0) 
    { 
    echo "error: " . $_files["file"]["error"] . "<br />"; 
    } 
  else 
    { 
    echo "upload: " . $_files["file"]["name"] . "<br />"; 
    echo "type: " . $_files["file"]["type"] . "<br />"; 
    echo "size: " . ($_files["file"]["size"] / 1024) . " kb<br />"; 
    echo "stored in: " . $_files["file"]["tmp_name"]; 
    } 
  } 
else 
  { 
  echo "invalid file"; 
  } 
?> 
对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg.
(责任编辑:最模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容