【发布时间】:2020-10-22 11:31:55
【问题描述】:
我将数据从带有 jquery ajax 的表单发送到 php 文件。 我想检查用户是否至少选择了 1 个文件。 这是我的附件表格的一部分:
<input type="file" class="form-control-file" name="user_attachment[]" multiple="multiple">
我的 jquery ajax:
$.ajax({
url: "contact.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
$(".response").html(data);
$('.spinner').hide();
},
});
如果没有选择文件,则检查 contact.php:
$user_attachment_tmp = $_FILES['user_attachment']['tmp_name'];
$user_attachment = $_FILES['user_attachment']['name'];
// several checks if no file is chosen
if( empty($_FILES['user_attachment']['name']) ) {
echo 'no file chosen'; // fails when nothing is chosen
}
if(!isset($_FILES['user_attachment']) || $_FILES['user_attachment']['error'] == UPLOAD_ERR_NO_FILE) {
echo 'no file chosen'; // fails when nothing is chosen
}
if(!file_exists($_FILES['user_attachment']['tmp_name']) || !is_uploaded_file($_FILES['user_attachment']['tmp_name'])) {
echo 'no file chosen'; // fails when nothing is chosen
}
所以问题是:在每种情况下,当没有选择文件时,我都没有收到消息no file chosen
那么如何检查是否没有选择文件(附在表格中)?
【问题讨论】: