1. Хранить файлы с текстом можно выше корня. Тогда доступ к ним третьих лиц усложняется. Минус - картинки, их либо кодировать, либо хранить ниже корня.
2. Хранить данные можно структурно в папках. Желательно имя папок использовать англоязычные, хотя у меня на русском все в прекрасно работает, кроме того что однажды после сохранения в заголовке с русским текстом получились абрыкадвбры. Проблема решена с помощью сессий. А дучше всего имена папок использовать, как мне кажется, - циыерные. Пример 20240607140512. Это id(key), плюс - имеем дату.
В моей программе есть файловый менеджер там без названий папок русскоязычных не обойдёшься никак все остальные данные пишутся в папке с цифер нова обозначения это ключ или ID к данным и плюс мы имеем дату создания