这让我发疯。我想弄清楚如何上传文件。我有两个非常简单的文件,但它似乎不起作用。这首先是允许用户选择文件的文件:
<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 兆字节,这比我一直尝试上传的文件大得多。
还有什么问题?
谢谢,
肖恩。
最佳答案
将适当的 enctype 属性添加到您的 form
标记:
<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']
关于php - 尝试上传文件时 $_FILES 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405885/