我希望用户能够将图像上传到我的网站,尽管我在实现此功能时遇到了问题。
<?php
if (isset($_POST['uploadImg'])) {
$image = $_FILES['image'];
$imageName = $_FILES['image']['name'];
$imageTmpName = $_FILES['image']['tmp_name'];
$imageSize = $_FILES['image']['size'];
$imageError = $_FILES['image']['error'];
$imageType = $_FILES['image']['type'];
$getImageExt = explode('.', $imageName);
$imageExt = strtolower(end($getImageExt));
$allowed = array('jpg', 'jpeg', 'png', 'tiff');
if (in_array($imageExt, $allowed)) {
if ($imageError === 0) {
if ($imageSize < 8000) {
$imageDestination = 'images/'.$imageName;
move_uploaded_file($imageTmpName, $imageDestination);
echo"uploaded successfully";
} else {
echo"File is to big";
}
} else {
echo "Error uploading file";
}
} else {
echo"Invalid file format";
}
}
?>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST" enctype"multipart/form-data">
<input type="file" name="image">
<button type="submit" name="uploadImg">Upload</button>
</form>
这是我目前拥有的代码,它在检查图像类型的if语句中失败。我尝试上传所有允许的图片类型,但没有一个正常工作
我尝试实现w3schools中找到的脚本,但这对我不起作用。我也尝试使用How to get the file extension in PHP?中找到的修复程序,但我仍然无法找到解决方案。
任何帮助都将不胜感激。
此外,是否可以异步执行此操作?
答案 0 :(得分:1)
问题出在这一行。改变这一行
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST" enctype"multipart/form-data">
到
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="POST" enctype="multipart/form-data">
您在enctype属性中错过了'='