我正在学习PHP教程,但无法克服这个问题:Form contains a file input, but is missing method=POST and enctype=multipart/form-data on the form. The file will not be sent.
Picture of Problem升
我已经仔细检查以确保所有文件都有权限,我已经复制粘贴了教程中的确切代码,到目前为止没有任何效果。我见过其他类似的问题,但他们的答案都没有奏效。
这是我的代码:
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["ftrImg"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(isset($_POST["sbtImg"])) {
$check = getimagesize($_FILES["ftrImg"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
?>
<form action="" formMethod="POST" formEncType="multipart/form-data">
Upload your picture:
<input type="file" name="ftrImg" id="ftrImg">
<input type="submit" value="upload" name="sbtImg">
</form>
将method
和enctype
替换为formMethod
,formEncType
清除了我得到的错误500,但没有解决这个问题。仅供参考,我在linux上使用XAMPP服务器。
关于这个警告,我不明白的是我的表单上有method
和enctype
。
1条答案
按热度按时间mxg2im7a1#
<form action="" formMethod="POST" formEncType="multipart/form-data">
不正确,应该是<form method="POST" enctype="multipart/form-data">
~如果目标是同一页,可以省略action属性Professor Adronsius的评论解决了这个问题。我现在可以成功上传文件了。谢谢