Евгений Ромашкан, если и напишете с костылями, то пройдет время, посмотрите на код, и все поймете, после чего перепишете. Только вот если сайт будет "боевым", и будут реальные пользователи, то лучше готовое решение, ибо безопаснее. А то не будете элементарно фильтровать данные пользователя, и все инъекции - sqlmap - пострадал конечный пользователь (и немного ваша репутация), а это не приятно!
Тут я ничем не могу помочь :( Я бы сделал такой костыль: добавил data-* атрибут с изображением, который был бы ссылкой на фон, и менял JS его, а в чем проблемы вашего кода, я понять не могу)
Насчёт расширения я понял, но как это обработать? Топать как будет выглядеть условие? И как сделать обработку картинки тобой, тут порядке как в php есть temp директория? Если да то как получить путь к этому временному файлу? Я ничего не нашел.