1

当我尝试上传 3,424KB 的文件并收到此错误时,我收到此错误

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12864 bytes)

但是当我尝试上传 4,891KB 的文件时它很好,这是为什么?

我还更新了我的 php5.ini 文件,权限很好,一切正常。

任何提示都会很棒谢谢!

Ĵ

这是发生错误的代码行:

 $image = imagecreatefromjpeg($source); 
4

2 回答 2

5

gd 库完全解压缩.jpg内存中的文件。所以只有像素大小很重要,而不是上传的文件有多大。

你需要增加memory_limit一点。

于 2012-04-24T17:24:11.253 回答
0

尖端

A. GD 失败,因为图像未压缩。

B. 用户memory_limit增加内存

C. 使用 Imagick 它是内存高效的

D. 将图像重新调整到可管理的大小

例子

try 
{
    $img = new Imagick ( $imageLarge );
    $img->thumbnailImage ( 500, 500, TRUE );
    $img->writeImage ( $imageCute );
} 
catch ( Exception $e ) 
{
    echo 'Caught exception: ', $e->getMessage (), "\n";
}
于 2012-04-24T17:36:03.453 回答