这让我发疯了。我正在试图弄清楚如何上传文件。我有两个非常简单的文件,但它似乎不起作用。第一个是允许用户选择文件的文件:
<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>
第二个是处理它的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>
由于 - 除print_r
之外 - 我从网站教程中删除了如何进行文件上传,我认为这些文件没问题。
print_r($FILES)
返回一个完全空的数组。
我还检查了php.ini
。允许文件上传,最大大小为2M,我假设它是2兆字节,远远大于我试图上传的文件。
还有什么可能是错的?
谢谢,
肖恩。
答案 0 :(得分:27)
在form
标记中添加正确的enctype属性:
<form action="getfile.php" method="post" enctype="multipart/form-data">
这里记录了:http://www.php.net/manual/en/features.file-upload.post-method.php
此外,当您访问多维数组时,请确保括号之间没有空格:
$_FILES['uploadFile']['tmp_name']
答案 1 :(得分:1)
您应该在表单标记中使用属性enctype="multipart/form-data"
。
答案 2 :(得分:0)
在表格标签中添加
ENCTYPE = “多部分/格式数据”