In my opinion, it is not good to use PHP to upload images.
If you do, you will be causing PHP to process all the content of an image and then send a response to the browser.
This can be expensive for the server in terms of processing, since PHP needs to use memory to render that image.
Not to mention that the browser has a specific mechanism for image caches. Maybe by PHP, you can not enjoy this functionality, since it is actually a PHP script that will be processed, not an image.
The solution I usually use for cases where I need to use PHP to render images is: Process the image once, giving it the desired format, and save it. I usually convert them all to the same format.
I believe that if you want to improve the performance of your images, you can invest some time in creating a system of thumbs. Using resized images or with appropriate treatment, you can achieve a desired performance. But I do not think loading always with a PHP script is appropriate. Now, if you do this once, creating an image optimizes static, I think it would be a good solution.