3

我有以下表格:

<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

这是为什么?

提前致谢!

4

2 回答 2

5

您必须enctype='multipart/form-data'在表单中添加
关于此主题的引用

当您发出 POST 请求时,您必须以某种方式对构成请求正文的数据进行编码。

HTML 表单提供两种编码方法。默认为 application/x-www-form-urlencoded,它或多或少与 URL 末尾的查询字符串相同。另一种是 multipart/form-data,是一种更复杂的编码,但它允许将整个文件包含在数据中。

于 2013-08-07T17:25:11.283 回答
2
enctype="multipart/form-data"

将该属性添加到您的表单标签

<form method="post" action="index.php" enctype="multipart/form-data">

multipart/form-data 没有字符被编码。当您使用具有文件上传控件的表单时,此值是必需的

http://www.w3schools.com/tags/att_form_enctype.asp

于 2013-08-07T17:25:04.643 回答