Ramiere
Guest
Память для оброботки изображений
я поискал в форуме почитал уже имеющиеся статьи на эту тему но не смог ее решить.. столкнулся с проблемой при уменьшении изображений при загрузке.. если файл выше 350 килобайт скрипт пишет что ему не хватает памяти.. при установке ini_set(memory_limit,20M) вроде как работает но все равно медленно... народ помогите советом как сделать чтобы все быстрее работало... лимит на фотку не выше 500 кб стоит....
вот скрипт ресайзинга
дайте хороший совет чтоб сделать ресайзинг быстро корректо и без ошибок...
я поискал в форуме почитал уже имеющиеся статьи на эту тему но не смог ее решить.. столкнулся с проблемой при уменьшении изображений при загрузке.. если файл выше 350 килобайт скрипт пишет что ему не хватает памяти.. при установке ini_set(memory_limit,20M) вроде как работает но все равно медленно... народ помогите советом как сделать чтобы все быстрее работало... лимит на фотку не выше 500 кб стоит....
вот скрипт ресайзинга
PHP:
function resize($resource, $destination, $width, $bordersize = NULL, $bordercolor = NULL, $text = NULL)
{
$images['resource'] = $resource;
$images['destination'] = $destination;
$images['width'] = $width;
$imgaes['border'] = $bordersize;
$images['bordercolor'] = $bordercolor;
$images['text'] = $text;
$image = getimagesize($images['resource']);
$images['factor'] = $image[0]/$image[1];
$images['height']= floor($images['width']/$images['factor']);
$images['truecolor']= imagecreatetruecolor($images['width'],$images['height']);
$images['mime'] = strtolower(substr($image['mime'],strpos($image['mime'],'/')+1));
$images['creater'] = "imagecreatefrom".$images['mime'];
$images['source'] = $images['creater']($images['resource']);
ImageCopyResampled($images['truecolor'],$images['source'],0,0,0,0,$images['width'],$images['height'],$image[0],$image[1]);
$images['border'] = hex2rgb($images['bordercolor']);
$images['border'] = imagecolorallocate($images['truecolor'],$images['border'][1],$images['border'][2],$images['border'][3]);
imagerectangle($images['truecolor'],0,0,$images['width']-1,$images['height']-1,$images['border']);
imagejpeg($images['truecolor'],$images['destination'],100);
imagedestroy($images['source']);
imagedestroy($images['truecolor']);
flush();
}
