Вы смешиваете две проблемы здесь. Вам необходимо дополнительно разложить проблему на отдельные задачи.
Прежде всего, вам необходимо установить соответствующий каталог загрузки. На моем сайте каждый пользователь направляется в свой каталог загрузки:
/images/member/1
/images/member/2
/images/member/3
Мой контроллер устанавливает каталог загрузки динамически, основываясь на идентификаторе пользователя
$config['upload_path'] = "/images/member/$user_id";
Во-вторых, вам нужно обработать ваш загруженный файл, создавая уменьшенные и уменьшенные изображения. Моя библиотека обработки изображений использует тот же путь, который я передал $ config ['upload_path'] в качестве своего корневого каталога, и помещает свои выходные данные в подкаталоги относительно этого динамического корня:
/images/member/1/resized
/images/member/1/thumbnails
Мой сайт на самом деле немного сложнее, чем этот. Но дело в том, что установка $ config ['upload_path'] динамически позволяет вам иметь столько путей загрузки, сколько вы хотите.