代码之家  ›  专栏  ›  技术社区  ›  d2burke

在PHP中取消上传文件

  •  1
  • d2burke  · 技术社区  · 15 年前

    <form enctype="multipart/form-data" action="uploadfaculty.php" method="POST" id="UploadForm">
    Choose a file to upload: <input name="uploadedfile" type="file" /><br />
    <input type="submit" value="Upload File" />
    </form>
    

    我试过:
    unlink($_FILES['uploadedfile']['tmp_name']) , unlink($_FILES['uploadedfile']) , unset($_FILES['uploadedfile']['tmp_name'])

    unset($_FILES['uploadedfile'])`
    

    2 回复  |  直到 15 年前
        1
  •  4
  •   Mahdi.Montgomery    15 年前

    这并不令人不安,因为post操作存储在浏览器端,当他们点击F5时会被重新上传(在很短的时间内,因为它只是一个csv)。这与他们使用表单上传另一个csv基本相同。

    if (isset($_POST['csv'])){
     $DataProcessed = DataProcessingFunction();
    }
    
    if (isset($DataProcessed) && $DataProcessed){
      header("Location: /path/to/form/page.php");
      exit();
    }
    

    这将清除先前请求中发送的post数据。刷新不会重新提交表单。

        2
  •  3
  •   Jim    15 年前

    header 在处理后将它们重定向到该上传页面,以防止post数据通过刷新继续进入。但一旦处理完成,就应该清除临时文件。除非使用 move_uploaded_file 功能。