2012-05-24 58 views
0

我正在處理一個用戶可以上傳自己的圖片的相冊。我希望用戶能夠發送任何大小的圖片到網站,如果它超過5Mb,它會通過php上傳類被處理成5Mb。Php上傳文件超過6Mb的類問題

該文件的上傳適用於小於30Mb的php.ini文件中的配置的任何圖片大小。原始圖片上傳到臨時文件夾以供處理。

我很容易處理圖片來創建拇指和主圖片,但是當我想生成大文件(處理爲5Mb供用戶下載)時,它不起作用。

下面是一段代碼,我使用的是用於處理圖片:

$handle = new upload("../".$path_picture_temp.$this->imgName); 

    if ($handle->uploaded) { 
     $handle->image_convert   = 'jpg'; 
     $handle->jpeg_size    = 5242880; 
     $handle->process("../".$path_picture_full); 
    } 
    if ($handle->uploaded) { 
     $handle->image_resize   = true; 
     $handle->image_x    = 231; 
     $handle->image_y    = 153; 
     $handle->image_ratio_crop  = true; 
     $handle->image_convert  = 'jpg'; 
     $handle->jpeg_quality   = 95; 
     $handle->process("../".$path_picture_thumb); 
    } 
    if ($handle->uploaded) { 
     $handle->image_resize   = true; 
     $handle->image_x    = 1000; 
     $handle->image_y    = 1000; 
     $handle->image_ratio   = true; 
     $handle->image_convert  = 'jpg'; 
     $handle->jpeg_quality   = 95; 
     $handle->process("../".$path_picture_main); 
    } 

當我上載圖片6MB下它的工作原理,即使它是緩慢的,但如果我上傳的圖片超過6MB它不起作用,甚至不處理任何事情。

當我得到第一部分的大型圖片處理的騎行時,任何文件大小都可以正常工作。有沒有人有一個想法,爲什麼發生這種情況?

+0

有什麼錯誤?你有錯誤報告啓用? – bjauy

+0

你知道6Mb以下的文件需要多少時間嗎?可能當大小超過6Mb時,處理超過腳本的'max_execution_time'。 – florian

+0

@bjauy我現在正在嘗試使錯誤報告生效。 –

回答

0

如果您正在使用GD和imagcreatefromjpeg()函數,這也許能解決你的問題: PHP GD imagecreatefromjpeg cant handle big size image?

+0

請注意,如果您使用'imagecreatefromjpeg()'函數,即使您的圖片大小爲5MB,它在處理時可能會比您的'memory_limit'大。 – divaka

+0

我把memory_limit推到了500M,但還是沒有變化,我也試了1000M和同樣的故事。 –