Okay, first off, people need to learn to calm down. That includes the OP and everyone replying. I would consider this a very legitimate concern he raises and I'll explain why and what I would suggest to fix it to address all the concerns brought up.
I see three sides to this.
- OneMoar wants to upload bigger files. Generally speaking, most users are lazy so this is a valid concern from a usability standpoint. While I do believe there should be an upload limit, there should be a separate storage limit.
- Concern with bandwidth: I suspect that uploading images is a relatively small amount of bandwidth and that serving up said images is much more costly. So that would put emphasis on getting not putting if bandwidth is a concern.
- Storage, a very real concern because a lot of images adds up quickly which adds a need to efficiently store said images.
So my suggestion (assuming W1zz wanted to do this out of kindness of his heart,) is this:
- Increase upload limit to 10-20MB max.
- Institute a storage limit of 2-5MB max.
- Use PHP's GD library to convert uploaded images to JPEG or PNG.
- PNGs tend to look nicer than JPEGs, but use more space. Probably preferable for smaller images or images requiring transparency.
- JPEG tends to be very flexible when it comes to quality and the amount of compression. PHP's GD lib gives you control over this.
So long as the image is uploaded in a format GD can read which includes most commonly used formats, it may not be unrealistic to re-store it in a different format. It's also not unrealistic to use GD to scale the image as well.
I've used GD before and it's relatively easy to use and is relatively quick with respect to performance. I would be willing to write up some examples with respect to how to do it if it were welcomed.
Side note: I see a watermark, GD might be getting used already so this might not be a stretch if the CPU cycles are there to spare.