$_FILES 数组的内容如下所示。
我们假设文件上传字段的名称如上例所示,为 userfile(我估计你不能echo出值来,可能跟这个变量的设置有关) $_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 数组。 详见php手册=>特点=>文件上传处理
我们假设文件上传字段的名称如上例所示,为 userfile(我估计你不能echo出值来,可能跟这个变量的设置有关) $_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 数组。 详见php手册=>特点=>文件上传处理
其中userfile为表单的file对象的namephp4.1.0以后支持此写法
其中userfile为表单的file对象的namephp4.1.0以后支持此写法
<form enctype="multipart/form-data" action="" method="post">
<form method=post action="" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php
echo $_FILES['userfile']['tmp_name'];
?>
这个写法是能够echo出来的.
<form method=post action="" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>
<?php
echo $_FILES['userfile']['tmp_name'];
?>
我建议,既然上传是可以在一个页面完成的,那就不要action到另外页面
可能有二:
1、你的php版本低于4.1.0,若是则根本没有预设的$_FILES数组
2、上传失败简单的测试方法:
在接受页面里
print_r($_FILES);
看一下结果