php $_FILES详解

来源:互联网 发布:linux 获取cpu序列号 编辑:程序博客网 时间:2024/06/13 05:55
$_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 )


本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。

如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。

如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告。

这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话

PHP单文件上传

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>单文件上传</title>
<style type="text/css">
<!--
body,td,th {
 font-size: 12px;
}
body {
 margin-left: 10px;
 margin-top: 10px;
 margin-right: 10px;
 margin-bottom: 10px;
}
-->
</style></head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form">
<input name="up_file" type="file" />
<input type="submit" name="submit" value="上传" />
</form>
<?php
if(!empty($_FILES[up_file][name])){
$fileinfo = $_FILES[up_file];
  if($fileinfo['size'] < 1000000 && $fileinfo['size'] > 0){
   move_uploaded_file($fileinfo['tmp_name'],$fileinfo['name']);
   echo '上传成功';
  }else{
   echo '文件太大或未知';
  }
}
?>
</body>

</html>