Hello,

I have been setting up a photo upload feature for a website which allows members to upload photos.

I am also after some advice on how large a file should be? I thought about allowing members to upload a photo up to 100,000 in size and allowing a maximum of 10 photos each but if I could expand this then it would be great. I just cant seem to find out how! obviously if I had a 1000 members for example each having 10 x 100,000 then thats a huge amount of space.

Is there anyway to compres the files that members upload. For example ...I see facebook which is well known for their photo uploads somehow compress the file and allow massive amounts of files on their servers.

Any advice would be great.

Thanks
:)

Recommended Answers

All 5 Replies

Hello,

I have been setting up a photo upload feature for a website which allows members to upload photos.

I am also after some advice on how large a file should be? I thought about allowing members to upload a photo up to 100,000 in size and allowing a maximum of 10 photos each but if I could expand this then it would be great. I just cant seem to find out how! obviously if I had a 1000 members for example each having 10 x 100,000 then thats a huge amount of space.

Is there anyway to compres the files that members upload. For example ...I see facebook which is well known for their photo uploads somehow compress the file and allow massive amounts of files on their servers.

Any advice would be great.

Thanks
:)

I just cant seem to find out how! obviously if I had a 1000 members for example each having 10 x 100,000 then thats a huge amount of space.

You'd never get 1000x10x100,000. You'd get a much lower number realistically.

What you'd have to ask is weather each member is worth that much space... yes.

Is there anyway to compres the files that members upload.

You could first convert the uploaded images to a compressed format. This usually means JPG - I would guess. You can also optimize the JPG server side, make sure you save lower quality if the image is very high quality.

Then you could also gzip it, and save the Gzipped version. Not sure how Gzip would play with the existing image compression, but I think it should reduce the size. (you have to test that, since compressing twice can increase the size).

Member Avatar for Rhyan

Then you could also gzip it, and save the Gzipped version. Not sure how Gzip would play with the existing image compression, but I think it should reduce the size. (you have to test that, since compressing twice can increase the size).

Indeed, a JPG compressed file does not compress good in gzip, even if strong or strongest compression is used.
It is important what kind of information is needed for a jpg stored online. For example, you can read the EXIF if it is important, and store it in a database, and then resample the image with stronger JPG compression and without EXIF, which will result to something like 130-160 KB for a 1600 x 1200 image with 60 - 70% jpg compression ratio. So when requested, you can show both the exif and still have the image in relatively good quality in relatively big size.

If you must in all cases store the original, then, you may limit your users to a monthly or total upload limit, that when exhausted (either by 10 or by 1000 images),does not allow furhter uploads, and you can leave the images intact.

Facebook and another community sites achieves this optimal capacities performing an image scale reduction and using lossless formats like JPEG for every photo uploaded. Data storage can be a concern on higher web sites, I think CPU usage should be another factor to be considered. You can make a heavy amount of CPU load killing the server resources trying to recompress files that already uses a compression on their data. Also, Lempel-Ziv (.gz .zip) compression will give bigger files as a result (if you're using JPEG images).

The GD library would give the essential functions to do image processing like format conversion and reducing images to the maximum visible dimensions into the website template.

commented: great answer +6

thank you NIGDE IN TURKEY

Another thing you can do to reduce the space used is to use bicubic resize the make the images half the height and half the width but for large images this technique can use a lot of cpu when resizing them back with a bicubic resize unless you just use html to pixel resize to the original size.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.