Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //echo '<pre>'; var_dump($_SERVER); echo '</pre>';
- echo '<pre>$_FILES '; var_dump($_FILES); echo '</pre>';
- //echo __DIR__.'/uploads/';
- // Ошибок нет
- $error = '';
- // Куда грузим
- $uploaddir = __DIR__.'/uploads/';
- // Разрешённые типы при валидации
- $permitted_mime = ['image/png', 'image/jpeg', 'image/gif'];
- $permitted_exif = [1,2,3]; // GIF, JPG, PNG
- // Сам файл
- $file = $uploaddir . basename($_FILES['uploadfile']['name']);
- // Валидация двумя способами
- $size = getimagesize($file);
- $exif = exif_imagetype($file);
- // Проверка типа
- if(in_array($size['mime'], $permitted_mime) && in_array($exif, $permitted_exif)){
- $error = 'Изображение на соответствует необходимому типу (gif, jpg, png)';
- }
- // Проверка на квадрадность
- elseif($size[0] !== $size[1]){
- $error = 'Ширина не равна высоте, изображение должно быть квадратное';
- }
- // Максимальный размер (500px)
- elseif($size[0] > 400){
- $error = 'Иконка кресла зала не может быть больше 400px по размеру';
- }
- // Удачно ли переместили из временного каталога
- elseif (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
- $error = 'Файл не перемещён к месту назначения';
- }
- if(!empty($error)){
- unlink($_FILES['uploadfile']['tmp_name']);
- echo json_encode(['error' => $error]);
- } else {
- echo 'ok';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement