Сохранять в фотошопе конечно же хорошо, но не удобно при массовой загрузки контента на сайт и если с сайтом работает несколько людей... лишняя работа.
Когда я работал над сайтом фотогалереи, столкнулься также с проблемой что нужно было показывать людям фотки весом под 15-20мб каждую, так как это был профессиональный фотоапарат. Что же делать в таком случае? А в таком случае всё очень просто, создаються Thumbnails.
К примеру, ВК при загрузке файла создаёт 4 Thumbnails. Все в разных размерах и предназначены для разных случаев.
Допустим у вас сайт, при заходе на сайт у вас открывается меню страница с новостями или товарами, эти товары имеют картинку и получается в ряд 4 товара. То есть ширина каждой картинке, при средней шириной экрана в 1280пх, приблезительно 300пх, укардём 20пх на падинги и маргины от каждой фотографии.
Суть в том, чтобы при загрузке товара на сайт, загружалась оригинальная фотография, допустим в 4000х4000пх. Однако эту фотографию нужно взять и спрятать в отдельную папочку и вывести ссылку на эту фотографию, а не саму фотографию. Далее мы говорим нашему серверному языку, я делал на ПХП, что бы он взял эту картинку и создал 2 тумбнейла, 1 размером 300х300, второй 1200х1200. Первый будет использоваться на главной, второй будет использоваться на странице для этой фотографии, а снизу ссылка на оригинал в 4000х4000пх, либо сама картинка в 1200х1200 будет работать как ссылка на 4000х4000пх.
ПХП довольно таки мощный язык для работы с фотографиями, вам нужно будет создать форму на хтмл, которая будет загружать фотографию, пхп будет её обробатывать и сохранять в 3 разные папки под одинаковым именем. В базе данных вы привяжете имя к одному айди и покажите путь к ним.
Для вывода вы будете обращаться к базе данных, по айди фотографии. Вот и всё =)
Если у вас проблема с ресурсами, тогда можно создать левую страницу в ВК, на которую будете загружать фотографию, а через ВК АПИ, получать ссылки на эти фотографии и сохранять их в базу данных. Так ваш сайт будет загружать фотографии с ВК, который отлично грузит да ещё и предоставит сразу 4 различных размера и при этом не будет занимать пространство на сервере.
Дополнение:
Если не хотите добавлять фотографию черех ХТМЛ, то можете просто загружать на ваш сервер в какуето папочку фотографии, ну и создать функцию которая будет проверять данную папку на новые файлы и в случае нового файла, запускать работу другой функции которая занесёт новые данные в базу данных и выведет как результат новые фотографии к вам на страницу.