尝试执行文件上载时$ _FILES为空

Sea*_*ean 8 php

这真让我抓狂.我正在试图弄清楚如何上传文件.我有两个非常简单的文件,但它似乎不起作用.第一个是允许用户选择文件的文件:

<html>
<head>
<title>File Upload Form</title>
</head>
<body>
This form allows you to upload a file to the server.<br>

<form action="getfile.php" method="post"><br>
Type (or select) Filename: <input type="file" name="uploadFile">
<input type="submit" value="Upload File">
</form>
</body>
</html>
</code>
Run Code Online (Sandbox Code Playgroud)

第二个是处理它的php文件:

<html>
<head>
<title>Process Uploaded File</title>
</head>
<body>
<?php

print_r($_FILES);
print "<P>\n";

move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'],
       "../blimages/site/7337/{$_FILES['uploadFile'] ['name']}")

?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

因为 - 除了print_r- 我从网站教程中删除了如何进行文件上传,我认为这些文件没问题.

print_r($FILES)返回一个完全空数组.

我也查了一下php.ini.允许文件上传,最大大小为2M,我假设是2兆字节,这远远大于我试图上传的文件.

还有什么可能是错的?

谢谢,

肖恩.

Sco*_*ers 27

form标记中添加正确的enctype属性:

<form action="getfile.php" method="post" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)

它在此处记录:http://www.php.net/manual/en/features.file-upload.post-method.php

此外,当您访问多维数组时,请确保括号之间没有空格:

$_FILES['uploadFile']['tmp_name']
Run Code Online (Sandbox Code Playgroud)