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

时间:2015-08-18 10:04:57

标签: php file upload

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

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文件。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以在表单提交时使用jQuery来检查文件是否被选中。

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

答案 1 :(得分:1)

如果您想使用javascript进行检查,可以使用以下

^\[([a-z]*)\]$