2012-06-21 135 views
0

Iam嘗試使用php上傳文件。我可以upload.zip文件高達3 MB。但不能上傳大於3mb的文件。提交html表單需要很長時間。我使用以下代碼檢查了上傳和內存的詳細信息。無法上傳文件> 3 MB

$max_upload = (int)(ini_get('upload_max_filesize')); 
$max_post = (int)(ini_get('post_max_size')); 
$memory_limit = (int)(ini_get('memory_limit')); 
$upload_mb = min($max_upload, $max_post, $memory_limit); 

而且它給放出來作爲

max_upload=10 
memory_limit=64 
upload_mb=10 

請幫我找出解決辦法。

+0

可能的重複http://stackoverflow.com/questions/3263480/upload-max-size-in-php – Jake1164

+0

也可能會有所幫助:http://stackoverflow.com/questions/9050449/php-upload-max-filesize-limit – Jake1164

+0

你是否有重複的意思? – user1467983

回答

0

您是否檢查過腳本的超時時間?默認情況下是30秒......也許這就是極限......

+0

我該如何檢查?在此先感謝 – user1467983

+0

文件上傳時間不計入PHP腳本的最大執行時間。 – brezanac

+0

@ user1467983請參閱http://php.net/manual/en/function.set-time-limit.php –

1

它也可以是Web服務器,請參閱LimitRequestBody爲Apache或client_max_body_size爲nginx的

另一個原因是代理(透明代理?)。你可以問別人去嘗試上傳文件

0

測試,因爲它需要大量的時間可能是你通過添加

超過30塞康超時

你可以改變它

set_time_limit(60); 

http://php.net/manual/en/function.set-time-limit.php

和 運行這段代碼

<?php 
    phpinfo(); ?> 

運行該文件以獲取您的系統設置(搜索upload_max_filesize等);

+0

我已經檢查了所有的,但相同的結果:( – user1467983

+0

嘗試調試你的代碼,通過使用退出並檢查,直到控制傳遞的地方,它停在那裏,你有錯誤,如回聲「vv」;退出; – Rinzler

0

我給了相同的答案,以前的PHP大文件上傳的問題,但答案仍然適用:

對於大文件,如果你不希望有處理配置服務器設置(特別是如果你共享主機或其他一些不能完全控制服務器的主機),一種可能的解決方案是將上傳交給第三方服務。

例如,你可以有形式直接做後到Amazon S3(http://s3.amazonaws.com/doc/s3-example-code/post/post_sample.html)或使用服務像Filepicker.io

全面披露:我在Filepicker.io工作,但願意提供幫助人誰是處理大文件上傳的問題