Ожидаете ли вы обрабатывать / копировать / передавать / удалять ценные изображения за один раз? Если это так, возможно, имеет смысл создать папку для каждого потока. Иначе не было бы особой выгоды. Фактически это может быть недостатком ... например, если вы можете перемещать сообщения из одного потока в другой или объединять потоки, вам потребуется написать дополнительный код для перемещения файлов изображений.
например, если пост получил 5 загруженных изображений, должен ли я иметь отношение один ко многим (одна ветка - много картинок)
Да, или, может быть, один пост много фотографий?
где записи pic содержат названия картинок?
Если вы помните имена файлов загруженных файлов, это должно быть только для целей отображения в теме. Не использовать предоставленное пользователем имя файла в качестве имени файла в файловой системе вашего сервера. Это рискует конфликтом, когда два пользователя загружают файлы с одинаковыми именами, и в любом случае «очистка» имен пользователей в целях безопасности затруднительна.
Лучше присвойте каждой строке изображения базы данных первичный ключ и используйте этот ключ для именования файла, например 5272.jpeg
. Вы также должны обслуживать загруженные файлы с другого имени хоста, в противном случае возможны всевозможные риски межсайтового скриптинга.
См. этот вопрос для некоторого фона. Безопасно работать с файлами, загруженными пользователями, совсем непросто, и почти в каждом руководстве по загрузке файлов полно дыр в безопасности.