ImageMagick创建了大量的临时文件

时间:2018-01-19 11:53:46

标签: php imagemagick imagick

我正在使用imagick进行GIF文件上传并调整大小。我用来上传文件大小范围从5mb-15mb 由于巨大的临时文件,我的网站崩溃了,图像也没有正确转换。 我该如何解决这个问题?

$imagick =  new Imagick($_FILES['file']['tmp_name']);

foreach ($imageFolders as $imageFolder => $size) {

    if ($imagick->getImageWidth() > $size['minWidth']) {
        $width = $size['maxWidth'];
        $height = $size['maxWidth'];
    } else {
        $width = $imagick->getImageWidth();
        $height = $imagick->getImageHeight(
    }

    $imagick = $imagick->coalesceImages();

    foreach($imagick as $frame){
        $frame->thumbnailImage($width , $height ); 
        $frame->setImagePage($width , $height , 0, 0); 
    }

    $imagick = $imagick->deconstructImages();
    $imagick->writeImages($imagePath, true);

}

$imagick->clear();

1 个答案:

答案 0 :(得分:0)

我面临同样的问题,它与imageMagic有关。我收到了这个链接https://github.com/ImageMagick/ImageMagick/issues/395。为了解决这个问题,我创建了一个每分钟运行一次的cronjob并删除了tmp文件。 这是shell脚本

find /tmp -maxdepth 1 -type f -name "magick-*" -delete

如果有人有更好的选择,请建议。