Контактная форма не позволит пустое значение при загрузке файла Переполнение стека

Я хочу, чтобы моя контактная форма позволила Nulls при загрузке файла. когда я пытаюсь отправить форму без загруженного файла, появляется сообщение «Извините, файл уже существует. Извините, разрешены только файлы JPG, JPEG, PNG, GIF, TIF, EPS и PSD. Извините, ваш файл не был загружен». Как бы я изменил код, чтобы обойти это, когда это emtpy или это не безопасно?
если я не добавил достаточно подробностей, пожалуйста, дайте мне знать, и я буду преобладать.

PHP

  $target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image

// Check if file already exists
if (file_exists($target_file)) {
echo '<p style="color:red;">Sorry, file already exists.</p>';
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 150000000) { // Byte = 150MB
echo '<p style="color:red;">Sorry, your file is larger than 150MB.</p>';
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"&& $imageFileType != "gif" && $imageFileType != "eps" && $imageFileType != "tiff"&& $imageFileType != "psd") {
echo '<p style="color:red;">Sorry, only JPG, JPEG, PNG, GIF, TIF, EPS and PSD files are allowed.</p>';
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
die('<p style="color:red;">Sorry, your file was not uploaded.</p>');
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo '<p style="color:red;">Sorry, there was an error uploading your file.</p>';

}
}

0

Решение

Вы можете проверить это:

iF($_FILES["fileToUpload"] == UPLOAD_ERR_NO_FILE) {
// no file selected, do skip
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector