首页 > 解决方案 > 尝试在 PHP 中上传文件时,如何防止页面重新加载并且什么都不做?

问题描述

我有一个文件夹,其中有一个名为的文件index.php和另一个名为uploads. 这是我的index.php档案...

<?php
  if (isset($_POST['submit'])) {

    $file = $_FILES['file'];

    $fileName = $FILES['file']['name'];
    $fileTmpName = $FILES['file']['tmp_name'];
    $fileSize = $FILES['file']['size'];
    $fileError = $FILES['file']['error'];
    $fileType = $FILES['file']['type'];

    $fileExt = explode('.', $fileName);
    $fileActualExt = strtolower(end($fileExt));

    $allowed = array('jpg','jpeg','png',"docx",'pdf','xlsx');

    if (in_array($fileActualExt, $allowed)) {
      if ($fileError === 0) {
        if ($fileSize < 10000001) {
          $fileNameNew = uniqid('', true).".".$fileActualExt;
          $fileDestination = 'uploads/'.$fileNameNew;
          move_uploaded_file($fileTmpName, $fileDestination);
          echo "Success";
          sleep(3)
          header('Location: index.php?uploadsuccess');
        } else {
          echo "Error, your file is to large.";
          sleep(3)
          header('Location: home.php');
        }
      } else {
        echo "Error uploading file. Please try again later.";
        sleep(3)
        header('Location: home.php');
      }
    } else {
      echo "Error, The file type you are trying to upload is invalid.";
      sleep(3)
      header('Location: home.php');
    }
  }
?>

<!DOCTYPE html>
<html>
  <head>
    <title></title>
  </head>
  <body>
    <form method="post" enctype="multipart/form-data">
      <input type="file" name="file">
      <button type="submit" name="submit">Upload file</button>
    </form>
  </body>
</html>

这个想法是我可以将图像、word 文档和 excel 文档上传到上传文件夹。但是,每当我单击上传时,它所做的就是重新加载index.php页面。任何人都可以帮助解决这个问题吗?

标签: phphtml

解决方案


兄弟好可怜。

我只是尝试复制 pase 和调试错误报告,将分号应用于 sleep(3);无处不在,它会工作

if (!empty($_POST['submit'])) 
  {

    $file = $_FILES['file'];

    $fileName = $FILES['file']['name'];
    $fileTmpName = $FILES['file']['tmp_name'];
    $fileSize = $FILES['file']['size'];
    $fileError = $FILES['file']['error'];
    $fileType = $FILES['file']['type'];

    $fileExt = explode('.', $fileName);
    $fileActualExt = strtolower(end($fileExt));

    $allowed = array('jpg','jpeg','png',"docx",'pdf','xlsx');

    if (in_array($fileActualExt, $allowed)) 
    {
      if ($fileError === 0) 
      {
        if ($fileSize < 10000001) 
        {
          $fileNameNew = uniqid('', true).".".$fileActualExt;
          $fileDestination = 'uploads/'.$fileNameNew;
          move_uploaded_file($fileTmpName, $fileDestination);
          echo "Success";
          sleep(3);
          header('Location: index.php?uploadsuccess');
        } 
        else 
        {
          echo "Error, your file is to large.";
          sleep(3);
          header('Location: home.php');
        }
      } 
      else 
      {
        echo "Error uploading file. Please try again later.";
        sleep(3);
        header('Location: home.php');
      }
    }
    else 
    {
      echo "Error, The file type you are trying to upload is invalid.";
      sleep(3);
      header('Location: home.php');
    }
  }

推荐阅读