类型='文件'提交为POST

时间:2014-04-11 14:53:08

标签: php html forms file-upload

我有这个HTML:

<form method="post" action="install.php">
  <input type="text" name="database_username" id="database_username">
  <input type="password" id="database_password" name="database_password">
  <input type="file" class="logo-field" id="logo_field" name="file">
  <input type="submit" class="button success expand">
</form>

我在install.php中的PHP:

if ($_FILES['file']['error'] !== UPLOAD_ERR_OK){
  die("Didn't upload properly. Error: " . $_FILES['file']['error']);
}

$info = getimageSize($_FILES['file']['tmp_name']);

if ($info == FALSE){
  die("Can't get the type of uploaded file.");
}

if (($info[2] !== IMAGE_GIF) && ($info[2] !== IMAGE_JPEG) && ($info[2] !== IMAGE_PNG)){
  die("Not a gif/jpeg/png");
}

但是,它不起作用(根据第一个die()给出一个空白错误。)

当我var_dump($_FILES)时,我得到了:

array(0) { }

但是当我做`var_dump($ _ POST); ?&GT;

array(3) { ["database_username"]=> string(8) "username" ["database_password"]=> string(8) "password" ["file"]=> string(14) "image-name.jpg" }

这只是一个普通的表单,用户可以输入他们的用户名/密码并在需要时上传ID,但是我很难让图片进入下一个页。

尝试访问$_FILES['file']时出现此错误:

Message: Undefined index: file

问:为什么图片上传无效?

1 个答案:

答案 0 :(得分:4)

你错过了

enctype="multipart/form-data" 

表格。

表格应为

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

为什么需要它?点击这里

What does enctype='multipart/form-data' mean?