So, there's a few pieces to this:
1) Something that lets you present the user with a list of logos for a piece of clothing
2) Something that lets the user upload a custom logo
3) Something that lets a user add their custom text onto the clothing
The first piece has many ways for you to tackle that. Store the options in a database, hard code this list, etc.
The second piece is a bit more complex, but you can do this in PHP, as long as you take proper security precautions to ensure that you're allowing only an image upload. You can also use the service I recommend for the third part as an image upload host...
Which brings us to the most complex piece, letting the user put their own custom text / font on the piece of clothing.
I would suggest you look into
Cloudinary which is a service that lets you do all sorts of cool things with images. One of those is easily adding text on top of images. They have a tutorial
here and there's lots of different options for letting a user do this, either in PHP, JS, or even just by loading an image via a URL.
They also support all of the Google Fonts for the fonts you can add to the image, so that gives you a lot of options for letting users customize their clothing items. More info is
here.
They do have a somewhat generous free tier, so it's certainly an option worth exploring.