@TotTip

Как правильно реализовать загрузку и хранение изображений на сервере?

Здравствуйте!
Имя изображения генерируется из даты и времени загрузки обработанные в md5
Далее на основе полученного имени формируется путь.
Например, файл 4297f44b13955235245b2497399d7a93.jpg будет храниться в /uploads/42/97/f4/
Возникли следующие вопросы:
1) Какие правка доступа выставить для каталога uploads(и дочерних) и как защитить этот каталог?
2) На сколько глубокой лучше делать эту вложенность ( /uploads/42/97/f4/ )?
3) На каком этапе должно осуществляться сжатие изображения? До того как файл будет расположен по своему адресу или после.
4) Не совсем понимаю как сделать создание каталогов и загрузку изображения
Пока реализовал вот так:
код

function uploadFile($file, $filename, $path){ 
        $result = 'success';
        if (!file_exists($path)) { // если каталога нет - создадим
            mkdir($path, 0777, true);
        }
        $filepath = $path.'/'.$filename;
        if(is_file($filepath)){ // если такой файл уже есть
            $result = 'file_exist';
        }else{
            if (!move_uploaded_file($file['tmp_name'], $filepath)) {
    			$result = 'upload_error';
    		}
        }
        return $result;
    }


Хорошее ли это решение?
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы