Почему директория moodledata имеет такую ​​структуру? - PullRequest
0 голосов
/ 06 февраля 2020

Я знаю, что внутренние файлы moodle, такие как загруженные изображения, хранятся в каталоге moodledata.

Внутри есть несколько каталогов:

moodledata/filedir/1c/01/1c01d0b6691ace075042a14416a8db98843b0856
moodledata/filedir/63/
moodledata/filedir/63/89/
moodledata/filedir/63/89/63895ece79c4a91666312d0a24db82fe3017f54d
moodledata/filedir/63/3c/
moodledata/filedir/63/37/
moodledata/filedir/63/a7/

Что это за хеши?

Каковы причины этого дизайна, например, в структуре wordpress /year/month/file.jpg?

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

https://docs.moodle.org/dev/File_API_internals#File_storage_on_disk

Простой ответ - файлы хранятся на основе ха sh их содержимого (вдохновлено тем, как Git хранит файлы внутри).

Это означает, что если у вас есть один и тот же файл в нескольких местах (например, один и тот же PDF или изображение в нескольких курсах), он сохраняется только один раз на диске, даже если исходное имя файла отличается.

На реальных сайтах это может привести к значительному сокращению использования диска (очевидно, в зависимости от количества дублирования на вашем сайте).

1 голос
/ 06 февраля 2020

Файлы Moodledata хранятся в соответствии с кодировкой SHA1 их содержимого, чтобы предотвратить дублирование содержимого (например, когда один и тот же файл загружается дважды с другим именем).

Для дополнительных пояснений о том, как обращаться с такими файлами, вы можете прочитать в официальной документации File API:

https://docs.moodle.org/dev/File_API_internals

, особенно File storage on disk part.

...