我有一个表单接受用户输入并要求他们上传文件(图片,但这对于这个问题无关紧要)。当用户按下提交时,文件的字段似乎没有传递给动作脚本。
表单定义如下:
<form name="AddProduct" id="AddProduct" method="post" enctype="multipart/form-data" action="dothing.php">
<tr>
<td >Item UPC</td>
<td><input name="upccode" type="text" id="upccode" size="40" value="" maxlength="255"></td>
</tr>
<tr>
<td>Item Description</td>
<td><input name="proddesc" type="text" id="proddesc" size="40" value="" maxlength="255"></td>
</tr>
<tr>
<td>Item Image</td>
<td><input type="file" name="file" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Add !" class="submit"></form></td>
</tr>
在dothing.php上如果我做了print_r($_POST);
这就是我得到的
Array ( [upccode] => 159874288 [proddesc] => A fancy widget [submit] => Add ! )
如果我查看请求,因为它正在发布,我有这个:
-----------------------------11192760525264\r\nContent-Disposition: form-data; name="upccode"\r\n\r\n159874288\r\n-----------------------------11192760525264\r\nContent-Disposition: form-data; name="proddesc"\r\n\r\nA fancy widget\r\n-----------------------------11192760525264\r\nContent-Disposition: form-data; name="file"; filename="gif.gif"\r\nContent-Type: image/gif\r\n\r\nGIF87a?à÷
dothing.php页面上的file
变量在哪里?它清楚地表明它正在通过。
答案 0 :(得分:5)
@Andy:file
不在$_POST
集合中,它将在$_FILES
。