У меня есть форма для загрузки, и я проверяю размер и тип файла, чтобы ограничить загружаемый файл до 2 мегабайт и файлов .pdf, .jpg, .gif или .png. типы. Моя цель - показать пользователю предупреждающее сообщение, если он нарушит одно из этих правил.
Существует четыре сценария:
С моим текущим кодом он всегда отображает неверное сообщение «тип», когда размер файла превышает 2 мегабайта (# 4), даже если тип файла правильный (№3).
Есть идеи, почему?
if (isset ( $_FILES['uploaded_file'] ) ) {
$file_size = $_FILES['uploaded_file']['size'];
$file_type = $_FILES['uploaded_file']['type'];
if (($file_size > 2097152)){
$message = 'File too large. File must be less than 2 megabytes.';
echo '<script type="text/javascript">alert("'.$message.'");</script>';
}
elseif (
($file_type != "application/pdf") &&
($file_type != "image/jpeg") &&
($file_type != "image/jpg") &&
($file_type != "image/gif") &&
($file_type != "image/png")
){
$message = 'Invalid file type. Only PDF, JPG, GIF and PNG types are accepted.';
echo '<script type="text/javascript">alert("'.$message.'");</script>';
}
else {
store_uploaded_file($id);
}
}