为什么moodledata目录有这个结构?
Why moodledata directory has this structure?
我知道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
结构?
Moodledata 文件根据其内容的 SHA1 编码存储,以防止内容重复(例如,当同一文件以不同的名称上传两次时)。
有关如何处理此类文件的更多说明,您可以阅读文件的官方文档 API :
https://docs.moodle.org/dev/File_API_internals
尤其是File storage on disk
部分。
https://docs.moodle.org/dev/File_API_internals#File_storage_on_disk
简单的答案 - 文件是根据其内容的哈希值存储的(受 Git 内部存储文件的方式启发)。
这意味着如果您在多个地方有相同的文件(例如,多个课程中的相同 PDF 或图像),即使原始文件名不同,它也只会在磁盘上存储一次。
在真实网站上,这可能会大大减少磁盘使用量(显然取决于您网站上有多少重复项)。
我知道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
结构?
Moodledata 文件根据其内容的 SHA1 编码存储,以防止内容重复(例如,当同一文件以不同的名称上传两次时)。
有关如何处理此类文件的更多说明,您可以阅读文件的官方文档 API :
https://docs.moodle.org/dev/File_API_internals
尤其是File storage on disk
部分。
https://docs.moodle.org/dev/File_API_internals#File_storage_on_disk
简单的答案 - 文件是根据其内容的哈希值存储的(受 Git 内部存储文件的方式启发)。
这意味着如果您在多个地方有相同的文件(例如,多个课程中的相同 PDF 或图像),即使原始文件名不同,它也只会在磁盘上存储一次。
在真实网站上,这可能会大大减少磁盘使用量(显然取决于您网站上有多少重复项)。