PHP 文件上传检查 - 在通过 POST 发送输入之前可以吗?

PHP file upload check - it is possible before sending the input via POST?

我有一个非常基本的代码来上传表单:

echo "<form action='upload.php' method='post' enctype='multipart/form-data'>";
echo "Select upload:   ";
echo "<input type='file' name='fileToUpload' id='fileToUpload'>";
echo "<input type='submit' value='Upload file' name='submit'>";
echo "</form>";

好的,现在我想检查输入是否用户选择了文件,但在通过 POST 将输入文件名发送到另一个 PHP 文件之前(upload.php )

我知道检查是否没有文件被选中可以这样做:

if(!isset($_FILES['fileToUpload']) || $_FILES['fileToUpload']['error'] == UPLOAD_ERR_NO_FILE) {
    echo "Error no file selected"; 
} else {
    echo "ok";
}

我知道我需要以某种方式检查此文件中的输入:

echo '<form action="'.htmlspecialchars($_SERVER["PHP_SELF"]).'" method="post">';

但是如何将它们混合在一起呢?我想在选择文件时将文件名传递给另一个 php 文件。

谢谢。

您可以使用 jQuery 检查表单提交时是否选择了文件。

if ( $('#fileToUpload').val() == '' || $('#fileToUpload').val() == null) {
    alert("Please select file");
}

如果你想用 javascript 检查这个,你可以使用以下

var filename = document.getElementById("DealImage").value;

if (filename != ''){
   alert('files selected');
}else{
   alert('empty files input');
}