7
Regarding my hosting situation, in theory I dont have any limits on uploads, but the way apache works, it limits the uploads to somewhere between 20MB and 150MB, depending on networkload.
Apache times out the connection and cleans up all stuff that is left over, when using the normal POST method. (I'm hosted on a load-balanced clustered setup, thats why apache behaves like this, by design).
Apache was never designed to handle large amounts of data, so when it doesn't get any
HTTP GET/POST etc it thinks that the connection is dead (the upload is not a part of the original connection).
Since I need to be able to have uploads of at least 1GB, the normal HTTP POST method is off no use at all.
However FLASH seems to work in a different way, and I have tested the flashuploader I linked to with a 700MB file without any problems.
The FTP-Java applet I linked to works as well with larger files, however, its a little bit unsafe, for obvious reasons.
This can somewhat be circumvented by having a number of FTP-accounts, that is rotated, and a temporary uploadfolder that is cleaned out after every upload, however that would not stop malicious people to store unwanted material on the server.
So, it seems to me that the FLASH uploader is the best way to go, since it intergrates with PHP nicely.
Now, regarding the display frontend, I want the user/uploader to be able to select an icon for the file and to be able to upload a thumb-nail picture of the file as well, together with the original file.
He should be able to select the folder/category where the file should end up.
All files should/Must be stored on the disk file system, not the database.
The file should not be published until adm approval, hence a message should be sent to adm when a file is uploaded.
There should be some download quota system, connected to how many files the user uploads.
Only registered users should be able to upload or download files.
Visitors is only allowed to browse the respository.
It should be possible to enter a comment about the file, i.e the quality, missing pages etc.
Preferably (to save bandwidth for non-dsl users) there should be an option to only display a folder-like view, with no thumbnails or graphics (diplayed on demand).