php 的 $_FILES 变量 详解

$_FILES

经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。

$_FILES数组内容如下:

<input type="file" name="userfile">

$_FILES['userfile']['name']

 

客户端机器文件的原名称。

$_FILES['userfile']['type']

文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。

$_FILES['userfile']['size']

已上传文件的大小,单位为字节。

$_FILES['userfile']['tmp_name']

文件被上传后在服务端储存的临时文件名。

$_FILES['userfile']['error']

和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。

 

 

注: 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES,它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。

与此相关的:move_uploaded_file-- 将上传的文件移动到新位置

bool move_uploaded_file( string filename, string destination)

example:

<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="ex6pro.php">
<label>
<input name="upfile" type="file" id="upfile" />
</label>
<p>
    <label>
    <input type="submit" name="Submit" value="确认提交" />
    </label>
    <label>
    <input type="reset" name="Submit2" value="重新选择" />
    </label>
</p>
</form>

//ex6pro.php
<?
 if ($_FILES[upfile][name] != "")
 {
  echo $_FILES['upfile']['name']."<br/>";
  echo $_FILES['upfile']['size']."<br/>";
  echo $_FILES['upfile']['type']."<br/>";
  echo $_FILES['upfile']['tmp_name']."<br/>";
 }
 $file_path = "testimg/";
 $file_name = $file_path.$_FILES['upfile']['name'];
 if (copy($_FILES['upfile']['tmp_name'],$file_name))
 {
  echo "successful~";
  @unlink($_FILES['upfile']['tmp_name']);
 }
?>

posted @ 2017-01-07 20:14  天涯海角路  阅读(660)  评论(0)    收藏  举报