我有以下表格:
<form method="post" action="index.php">
product name:
<input type="text" name="product_name" value="<?php echo $product_name;?>"/>
<br /> <br />
product details
<textarea rows = "6" cols = "30" name="product_details" > <?php echo $product_details;?></textarea>
<br /> <br />
product price
<input type="text" name = "product_price" value="<?php echo $product_price;?>"/>
<br /> <br />
CN:
<input type="text" name = "product_cn" value="<?php echo $product_cn;?>"/>
<br /> <br />
image
<input type="file" name="fileField" />
<br /> <br />
<input type="submit" name="submit" value="register product" />
</form>
我的问题是,每当我尝试使用此代码处理图像时:
move_uploaded_file($_FILES['fileField']['tmp_name'], "../product_images/$newname");
我收到以下错误:
注意:未定义的索引:fileField
为什么?
提前致谢!
答案 0 :(得分:5)
您必须将enctype='multipart/form-data'
添加到表单
中
Quote from this topic about this
当您发出POST请求时,您必须以某种方式对构成请求正文的数据进行编码。
HTML表单提供了两种编码方法。默认是 application / x-www-form-urlencoded,它或多或少与a相同 URL末尾的查询字符串。另一个是multipart / form-data,是 一个更复杂的编码,但允许整个文件的编码 包含在数据中。
答案 1 :(得分:2)
enctype="multipart/form-data"
将该属性添加到表单标记
<form method="post" action="index.php" enctype="multipart/form-data">
multipart / form-data不编码任何字符。该值是必需的 当您使用具有文件上载控件的表单时