我正在研究允許在Web服務器上上傳和存儲大文件的應用程序。目前我使用PHP通過http處理POST文件。我有我的php.ini設置爲:大文件上傳
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 128M
max_input_time = 6000
max_execution_time = 6000
似乎沒有爲LimitRequestBody設置任何apache指令。我使用APC來跟蹤文件上傳進度。出於某種原因,文件上傳總是停在50M。
我知道HTTP是不是上傳文件最有效的解決方案,但這個程序需要以用戶友好的,我知道有使用FTP的防火牆問題。
我想知道如果任何人都可以給我一些建議,什麼是正好50M停止我的下載?它必須是某種配置設置。
另外,有沒有我應該考慮和工作圍繞使用JavaScript/PHP HTTP文件上傳一些其他的方式。我已經研究過Java applets並使用flash。可能會使用swfuploader,但如果它的服務器配置導致我的上傳失敗通過http,我真的不知道java applet或flash上傳器如何解決這個問題。
我要指出,我希望能拿出一個解決方案,讓我在某一點上是非常大的文件上傳高達1 GB。
我用非常簡單的PHP接收文件
$uploaddir = '/'.$_POST['upload_directory'].'/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { some success code; }
有明顯多一點給它比,但是這是我如何處理上傳的要點。
你是如何上傳文件的,你在上傳文件後做了些什麼? – 2009-08-27 19:12:04
簡單的php is_uploaded_file()和move_uploaded_file()以命令和拉動文件出來的$ _FILES – wallacer 2009-08-27 19:23:55