无法使用php将图像上传到网站

时间:2018-04-07 17:24:00

标签: php

我希望用户能够将图像上传到我的网站,尽管我在实现此功能时遇到了问题。

<?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?中找到的修复程序,但我仍然无法找到解决方案。

任何帮助都将不胜感激。

此外,是否可以异步执行此操作?

1 个答案:

答案 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属性中错过了'='