I am trying to upload .pdf file using form and while checking whether the file exists or not, the result is always true even if the directory doesn't have any file.
HTML Form:
<form id="contactForm" method="post" autocomplete="off" enctype="multipart/form-data">
<input autocomplete="false" name="hidden" type="text" style="display:none;">
<div class="row">
<div class="col-md-12 form-group">
<label for="name">Name</label>
<input type="text" name="name" class="form-control form-control-lg" id="name" required autocomplete="off">
</div>
</div>
<div class="row">
<div class="col-md-12 form-group">
<label for="email">Email</label>
<input type="email" name="email" id="email" class="form-control form-control-lg" autocomplete="off">
</div>
</div>
<div class="row">
<div class="col-md-12 form-group">
<label for="email">Phone</label>
<input type="number" name="phone" id="phone" class="form-control form-control-lg" required autocomplete="off">
</div>
</div>
<div class="row">
<div class="col-md-12 form-group">
<label for="address">Address</label>
<textarea name="address" id="address" class="form-control form-control-lg" cols="30" rows="8" autocomplete="off"></textarea>
</div>
</div>
<div class="row">
<div class="col-md-12 form-group">
<label for="department">Department</label>
<select class="form-control form-control-lg" name="department" required autocomplete="off">
<option value="so">Select Department</option>
<option value="Accounts">Accounts</option>
<option value="Machine Handling">Machine Handling</option>
<option value="Marketing">Marketing</option>
<option value="Sales Development">Sales Development</option>
<option value="Floor Manager">Floor Manager</option>
<option value="After Sales Service Manager">After Sales Service Manager</option>
</select>
</div>
</div>
<div class="row">
<div class="col-md-12 form-group">
<label for="file">Upload Your Resume (.pdf only!)</label>
<input type="file" name="fileToUpload" required autocomplete="off" class="form-control" accept="application/pdf">
</div>
</div>
<div class="row">
<div class="col-md-6 form-group">
<input type="submit" name="submit" value="Send Message" class="btn btn-primary btn-lg btn-block">
</div>
</div>
</form>
FORM SUBMISSION SCRIPT:
<script>
$("#contactForm").submit(function(e){
e.preventDefault();
var form_data = $(this).serialize();
$('input[type="submit"]').val("Sending Message...");
$.ajax({
type: "POST",
url: "backend/career.php",
dataType: "json",
data: form_data
}).done(function (data){
console.log(data);
$('input[type="submit"]').removeClass('btn-primary');
$('input[type="submit"]').addClass('btn-success');
$('input[type="submit"]').val("Message Sent...");
$("#contactForm").closest('form').find("input[type='text'],input[type='number'],input[type='email'],input[type='file'], textarea, select").val("");
}).fail(function(data){
console.log(data);
$('input[type="submit"]').removeClass('btn-primary');
$('input[type="submit"]').addClass('btn-danger');
$('input[type="submit"]').val("Sending Failed...");
$("#contactForm").closest('form').find("input[type='text'],input[type='number'],input[type='email'],input[type='file'], textarea, select").val("");
});
});
</script>
PHP Code:
$target_dir = "../pdf/";
$target_file = $target_dir.basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$pdfFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
if ($_FILES["fileToUpload"]["name"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
}
The output:
Sorry, file already exists.Sorry, your file was not uploaded.
This is the output even if the there doesn't exist any file in that directory.
How to solve this?