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