我有这个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
问:为什么图片上传无效?
答案 0 :(得分:4)
你错过了
enctype="multipart/form-data"
表格。
表格应为
<form method="post" action="install.php" enctype="multipart/form-data" >
为什么需要它?点击这里