Структура папки Upload

загрузка и сортировка файлов в папке Upload

 
Посетитель
small user social cms
Сообщений: 58
Меня долгое время мучает вопрос по поводу папки Upload в которой хранятся и сортируются загруженные файлы и изображения.
В этой папке очень много подпапок и подпапок, они для меня нумеруются (сортируются) непонятным образом, не могу понять в какую папку что загружается и откуда...
Можно как то разьяснить суть работы ?
Как все это работает и почему такие названия и что за что отвечает и тому подобное ??
Прикрепленные файлы:
Screenshot7_34ksg.png | 17.42 Кб | Скачали: 20
Screenshot8_34ksg.png | 18.19 Кб | Скачали: 17
Кому интересен дизайн , пишите в ЛС!
Посетитель
small user social cms
Медаль
Сообщений: 283
Эндрю Ua, может быть вам поможет эта тема.
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 846
"максимум 65792 папок у каждого пользователя"
Есть хостинги с ограничением на количество файлов, на самых низких тарифах , на пример, 1000 000 файлов. Если даже сжимать изображения, то в некоторых случаях может быстрее закончится количество файлов чем место на диске.
Редактировалось: 1 раз (Последний: 6 февраля 2020 в 12:38)
Посетитель
small user social cms
Сообщений: 58
@IamB:

Эндрю Ua, может быть вам поможет эта тема.
Дискуссия там конечно не слабая, но ушла тема в лес и все вернулось к началу sad
Я понял, что это боль многих... не только моя.

Просто очень сложно понимать и искать файл, так как из админки удалять и искать изображения или загруженные файлы тоже нет возможности. Это не удобно, когда тебе нужно зачистить определенные файлы после правки на сайте разделов. Или удаления темы и т.п.

В общем решения как такового я не понял, идеи и примеры были с объяснением но вот выхода из рутины не нашел.
Но спасибо за разъяснение всем тем, кто ввел подобное обсуждение в той теме и на многое раскрыл глаза, но логики в таком решении я не нашел smile Особенно 16 -тиричной системе и рандомном названии папки. Это полный трешь .
Вот хотябы по датам сортировка папок, очень бы облегчила ситуацию но а лучше конечно отдельно папку пользователя и папки для изображений групп, альбомов, статей... что бы как то сортировать лояльно...

И если речь о переполнении файлов в папке, то почему ни сделать сортировку по датам ??? А не произвольно... Не пойму.
Редактировалось: 1 раз (Последний: 7 февраля 2020 в 00:24)
Кому интересен дизайн , пишите в ЛС!
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатий
Сообщений: 569
Эндрю Ua, я согласен, что существующее решение хоть и покрывает нужды большинства пользователей, но не является универсальным. Мне пришлось под свои задачи немного подправить код, что усложняет обновление движка.

Однако, если что-то и менять в коде выбора папок, то проще и правильнее, на мой взгляд, добавить всего один хук в getUploadDestinationDirectory(), который бы позволял вебмастеру вернуть папку по любой желаемой логике. Например так:
Код PHP:
  1. public function getUploadDestinationDirectory(){
  2. // Вызов хука
  3. $dest_dir = cmsEventsManager::hook('get_upload_directory');
  4. // Если папка не вернулась, формируем путь стандартным образом
  5. if (!$dest_dir) {
  6. $dest_dir = files_get_upload_dir($this->user_id);
  7. }
  8. return $dest_dir;
  9. }
Это и универсально, и при обновлении ничего не слетит, и в Админке ничего менять не надо, и изменения кода минимальны.
Посетитель
small user social cms
Медаль
Сообщений: 112
Тоже не раз задумывался над такой структуры папок. По моему мнению проще создавать имя папок такую же как айди пользователя в ней папки с такимже именем как пресеты картинок. Имя картинок гирерировать как сейчас или дату брать. Папок может меньше не станет но структура будет лучше.
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатий
Сообщений: 569
@andriu3240, вариантов создания структуры папок много, все предусмотреть и заложить в движок невозможно. Поэтому хотелось бы иметь какое-то универсальное решение, позволяющее разработчику или вебмастеру заменить дефолтный принцип создания папок на желаемый.

Кому-то это не важно, а у кого-то есть точное техническое задание от заказчика со строгими путями или ему нужно перенести существующий сайт на Двойку с сохранением всех путей, в том числе и картинок. Пока это невозможно без ручной правки файлов ядра. А менять ядро сами разработчики движка не рекомендуют, так как потом возникают проблемы с обновлениями. Да и сторонние разработчики неохотно берутся за задачи, где нужно изменять ядро. Тупичок...
Посетитель
small user social cms
Сообщений: 58
WebMan:

Эндрю Ua, я согласен, что существующее решение хоть и покрывает нужды большинства пользователей, но не является универсальным. Мне пришлось под свои задачи немного подправить код, что усложняет обновление движка.

Однако, если что-то и менять в коде выбора папок, то проще и правильнее, на мой взгляд, добавить всего один хук в getUploadDestinationDirectory(), который бы позволял вебмастеру вернуть папку по любой желаемой логике. Например так:
Код PHP:
  1. public function getUploadDestinationDirectory(){
  2. // Вызов хука
  3. $dest_dir = cmsEventsManager::hook('get_upload_directory');
  4. // Если папка не вернулась, формируем путь стандартным образом
  5. if (!$dest_dir) {
  6. $dest_dir = files_get_upload_dir($this->user_id);
  7. }
  8. return $dest_dir;
  9. }
Это и универсально, и при обновлении ничего не слетит, и в Админке ничего менять не надо, и изменения кода минимальны.

Спасибо за предложение. Можно по подробнее о процедуре getUploadDestinationDirectory() ? Не подскажите где именно ?
Кому интересен дизайн , пишите в ЛС!
Посетитель
small user social cms
МедальПочетный донор проектаКубок зрительских симпатий
Сообщений: 569
getUploadDestinationDirectory()
Только нужно ещё добавить обработку хука 'get_upload_directory' в какой-то из своих компонентов. Если не знаете как это сделать, обратитесь к сторонним разработчикам.

P.S. Предложенный вариант изменяет код ядра! Он решает задачу с нестандартными путями папок для файлов, но изменения в getUploadDestinationDirectory() нужно будет проверять/вносить каждый раз после обновления движка, так как файл uploader.php может быть заменён обновлённым.
Это не правильно. Но другого варианта разработчики Двойки вебмастерам не оставляют.
Редактировалось: 1 раз (Последний: 9 февраля 2020 в 10:29)
Посетитель
small user social cms
Медаль
Сообщений: 283
WebMan:
Да и сторонние разработчики неохотно берутся за задачи, где нужно изменять ядро.
Примеры можете привести?
Эндрю Ua, вам стоит разобраться с существующим кодом здесь и здесь.
А так же иметь четкое представление о структуре папок, которую вы хотели бы иметь.
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 846
Может можно галочками настроить режимы структуры папок ? laugh
Посетитель
small user social cms
Сообщений: 58
@IamB:

WebMan:
Да и сторонние разработчики неохотно берутся за задачи, где нужно изменять ядро.
Примеры можете привести?
Эндрю Ua, вам стоит разобраться с существующим кодом здесь и здесь.
А так же иметь четкое представление о структуре папок, которую вы хотели бы иметь.

а так же

WebMan:

getUploadDestinationDirectory()
Только нужно ещё добавить обработку хука 'get_upload_directory' в какой-то из своих компонентов. Если не знаете как это сделать, обратитесь к сторонним разработчикам.

P.S. Предложенный вариант изменяет код ядра! Он решает задачу с нестандартными путями папок для файлов, но изменения в getUploadDestinationDirectory() нужно будет проверять/вносить каждый раз после обновления движка, так как файл uploader.php может быть заменён обновлённым.
Это не правильно. Но другого варианта разработчики Двойки вебмастерам не оставляют.


Спасибо WebMan и спасибо @IamB за помощь и ответ.
Буду разбираться...
Кому интересен дизайн , пишите в ЛС!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.