public function upload($file) { $out = ['res' => false, 'error' => '', 'path' => '', 'ext' => '']; if (is_uploaded_file($file['tmp_name'])) { $file_tmp_name = $file['tmp_name']; $file_name = $file['name']; $mime = exif_imagetype($file_tmp_name); if ($mime === false) { $out['error'] = "Файл не является изображением " . $mime; } else { $name = Helpers::make_translit(pathinfo($file_name)['filename']); $dir = '/images/'; $ext = image_type_to_extension($mime); $full_name = $name . $ext; $dir = '/images/'; $j = 0; while (file_exists(__DIR__ . '/..' . $dir . $full_name)) { ++$j; $full_name = $name . '_' . $j . $ext; } $full_path = $dir . $full_name; if (move_uploaded_file($file_tmp_name, __DIR__ . '/..' . $full_path)) { $out['res'] = true; $out['path'] = $full_path; $out['ext'] = $ext; } else { $out['error'] = "Произошла ошибка, попробуйте еще раз"; } } } else { $out['error'] = "Сервер отклюнил картинку"; } return $out; }