Вы можете при сохранении в базу и на диск делать уникальное имя, типа $fileName = substr(md5(microtime() . uniqid()), 0, 10); Его сохранять и в базу и на диск. Сохраняете большую картинку в папку photos, а с помощью библиотеки
Imagine в папку photos/thumbs сохраняете маленькую картинку с таким же названием.