|
|
|
| Allowed memory size of 8388608 bytes exhausted (tried to allocate 2048 bytes) in обьясните что это за ошибка | |
|
|
|
|
|
|
|
для: Ressfourt
(15.11.2005 в 22:37)
| | Памяти не хватает - под PHP-скрипт (под сам скрипт и его данные) выделяется ограниченный объём памяти (в вашем случае 8 Мб) - вы выходите за эти пределы.
PS Используйте unset() для уничтожения не нужных вам переменных и массивов, которые могут занимать значительный объём. | |
|
|
|
|
|
|
|
для: cheops
(15.11.2005 в 22:56)
| | просто странно , при загрузке фотографий он только на 1 фотографию фыдает ошибку под другие нет хотя сам файл 430 кб.. да у меня стоит ограничение если файл превышает 500 кб он не загружается | |
|
|
|
|
|
|
|
для: Ressfourt
(15.11.2005 в 23:05)
| | а можете привести фрагмент кода... я тут недавно с такой же проблемой сражался:) | |
|
|
|
|
|
|
|
для: Loki
(15.11.2005 в 23:19)
| | без проблем эта функция уменьшения изображения я ее полностью на массивах использовал
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['truecolor']);
imagedestroy($images['source']);
}
|
| |
|
|
|
|
|
|
|
для: Ressfourt
(15.11.2005 в 23:28)
| | В дебрях GDLib вполне может памяти на 8 Мб наплодится... | |
|
|
|
|
|
|
|
для: cheops
(16.11.2005 в 01:46)
| | но почему на одни изображения ошибку не выдает а на другие выдает.. если чуть более 400 килобайт то ошибка если меньше то ошибки нет :(
может подскажешь как высвободить память для выполнения функции ресайизинга фоток без php_ini
ведь каким то образом делают порталы с фотками и с бакраундами а там файлы выше 400 килобайт и 500 килобайт я не думаю что они увеличиват обьем памяти для скрипта :( | |
|
|
|
|
|
|
|
для: Loki
(15.11.2005 в 23:19)
| | :))) Но все же решили ее а? | |
|
|
|
|
|
|
|
для: Akira
(15.11.2005 в 23:38)
| | да нет проблема все так же висит :( | |
|
|
|
|
|
|
|
для: Akira
(15.11.2005 в 23:38)
| | Да:) все оказалось от жадности:) | |
|
|
|
|
|
|
|
для: Loki
(16.11.2005 в 09:30)
| | ну так что ни кто ничего не посоветует как избежать проблему с мемори лимит без ini_set("memory_limit","")
просто я нашел только 1 способ решение проблемы... если фотка по ширине и высоте выше 1200 пикселей увеличивать мемори лимит чреез Ini_set ... кто нибудь знает более улучшенный способ решения проблемы... да и сразу говорю можно сразу исключить imagemagic | |
|
|
|
|
|
|
|
для: Ressfourt
(16.11.2005 в 13:16)
| | Попробуйте другой аглоритм http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145 - уменьшите число функций, поставьте
<?php
imagedestroy($images['source']);
?>
|
по-раньше, вам же уже в середине скрипта $images['source'] не нужен, как только нет в нём надобности - уничтожайте. | |
|
|
|