Загрузка картинок на хостинг

Интересная картинка получается при загрузке картинок на хостинг в частности из профиля фотографий.
Грузит по рандомному пути, соответственно при загрузке новой фотки старую не затирает и оставляет мусор.
Не проще ли было бы загружать:
/images/user_ID или User_login

А логотипы для блогов /images/blogs/

9 комментариев

avatar
Йопта, так уже ж вроде обсуждалось!
avatar
И есть сдвиги?
avatar
чтобы затирало старую можно добавить при загрузке новой
@unlink(DIR_SERVER_ROOT.$this->oUserCurrent->getProfileFoto());

а так, конечно, лучше бы фотку хранить рядом с аватарками.

а вот в includes/ajax/uploadImg.php
вместо
$sDirSave=DIR_UPLOADS_IMAGES.'/'.func_generator(1).'/'.func_generator(1).'/'.func_generator(1).'/'.func_generator(1).'/'.$oUserCurrent->getId();

на мой взгяд было бы логичнее использовать:
$sDirSave=DIR_UPLOADS_IMAGES.'/'.$oUserCurrent->getId().'/'.func_generator(1).'/'.func_generator(1);

все таки сперва должна идти папка с ID юзера, да и больше 2-х рандомных директорий по-моему излишне.
avatar
имхо, рандомных путей быть не должно

готов согласиться с тем, что не оч. хорошо грузить все в одно место (когда число юзверей будет большим, папка раздуется и т.д.), но местоположение картинок все же должно как-то однозначно определяться, а не рандомно
avatar
возможно тогда стоит поставить проверку, например, если в папке 20 файлов, создавай рядом новую и складывай туда. Этот вариант уже более предсказуемый.
avatar
ну в идеале хорошо было бы сделать что-то вроде

$aFileInfo = pathinfo($_FILES['img_file']['name']);			
$sFileName = func_generator(6) .'.'. $aFileInfo['extension'];
$sDirSave = DIR_UPLOADS_IMAGES .'/'. $oUserCurrent->getId() .'/'. $sFileName[0] .'/'. $sFileName[1];

avatar
И все напрочь забывают про кеш браузера. То, что вы перезальёте картинку по старому пути, для большинства юзеров будет побарабану, ога.
avatar
Во-первых никто не предлагает заливать картинку по старому пути, если вы заметили, имя картинки генерируется случайным образом; вопрос в том: зачем городить кучу случайных длиректорий? Наличие такой системы предохраняет от коллапса в случае переполнения папки, но что мешает сделать её более или менее упорядоченной? (как я предложил здесь)

А во-вторых, я не могу быть на 100% уверенным, но мне кажется что кэш зависит от даты модификации картинки, и даже если бы она была со старым именем, то она бы перезагрузилась у пользователя. По крайней мере именно так, без проблем, работают аватарки, если вы не заметили.
avatar
Если по другому пути — это другое дело.

А во-вторых не зависит. А зависит он от посылаемых сервером заголовков.
Такие дела.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.