I'm wanting to upload files over 3MB through a form from a website and I was wondering how I would go about doing this? I've tried using <form enctype='multipart/form-data' etc > but I think the files are just a little too big. Any ideas?
If you are using PHP to parse the file, you probably get a timeout of some sort when uploading large files. somewhere in php.cnf there are some parameters you can adjust
Here's a quick and dirty upload script that I adapted from one I found on the net (I don't remember where) If you don't think that will help, you could always look into php's ftp functions. See also php.net's file upload reference where you can read about the directives file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size and max_input_time in php.ini
You can get passed php.ini and Apache's configuration that limits file uploads to 2Mb by default. Just override it with .htaccess like: php_value upload_max_filesize 90M // max size in Mb php_value post_max_size 90M // upload size via POST method php_value max_input_time 9600 // timeout value in seconds Code (markup): Hope this helps.
Not sure what exactly are you trying to accomplish. If you wish to allow registered users on your website to send large files via POST, no special security is needed, for they need to authenticate prior to sending files, right? On the other hand, you can always implement RewriteCond to allow/dissalow certain IP ranges, hosts, etc. or put referer check in the script to accept POST only from your form, not some direct request or cURL/similar imitation.
Forgot to menion one thing Setting too high a value can be tricky - if several uploads are being handled concurrently all available memory will be used up and other unrelated scripts that consume a lot of memory might effect the whole server as well.
Hmmm if you had a fairly popular site and you wanted to allow people to upload movie files how would you do it? Would you do it through email?