我有这个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);?>时
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
问:为什么图像上传不起作用?
您缺少
enctype="multipart/form-data"
形式。
表格应为
<form method="post" action="install.php" enctype="multipart/form-data" >
为什么需要它?检查此处
enctype=';多部分/表单数据';意思是