文件上传到另一页面

时间:2014-05-06 15:07:57

标签: php forms file-upload

我有一个表单,表单的动作是submit.php,我在submit.php上尝试上传文件图像,但是当我点击submit和print_r $ _FILE时,会出现一个空数组。我究竟做错了什么?我不想在与表单相同的页面上传文件。这是表格:

<form action="in-the-press-submit.php" method="post">

<p>
<label for="title">Title:</label>
<input type="input" name="title" id="title">
</p>

<p>
<label for="posted-on">Posted On:</label>
<input type="date" name="posted-on" id="posted-on">
</p>

<p>
<label for="description" style="vertical-align:top;">Description:</label>
<textarea rows="20" cols="70" name="description" id="description"></textarea>
</p>

<p>
<label for="image">Image:</label>
<input type="file" name="image" id="image">
</p>

<p>
<input type="submit" name="submit" id="submit">
</p>

</form>

这是我在提交页面中的代码:

<?php

  if ($_FILES["file"]["error"] > 0) {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
  } else {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "/image-test/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "/image-test/" . $_FILES["file"]["name"];
  }

?>

4 个答案:

答案 0 :(得分:3)

试试这个

<form action="in-the-press-submit.php" method="post" enctype="multipart/form-data">

文档:http://www.w3schools.com/php/php_file_upload.asp

答案 1 :(得分:1)

您的表单标记中需要enctype="multipart/form-data"

<form action="in-the-press-submit.php" method="post" enctype="multipart/form-data">

请参阅POST method uploads上的php手册。

答案 2 :(得分:1)

您需要在表单标记中包含enctype = multipart / form-data的原因是:

application / x-www-form-urlencoded是POST表单没有附加文件的标准和默认方式。

multipart / form-data是使用附加文件POST表单的标准方法,因为此编码允许整个文件包含在数据中

答案 3 :(得分:0)

要上传文件,请添加

enctype = "multipart/form-data"

在表单标签中。