Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2009, 11:05
hyperrjas
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Error en Constructor de Función de Objeto

Buenas chicos como va todo, hace tiempo que no paso por aquí jeje.

Tengo un problemilla aver si ustedes pueden ayudarme :). Estoy intentando optimizar una función de una aplicación en la cual siempre se me queda colgado. Es un script que sincroniza varias bases de datos, y dura unas dos horas o dos horas y media cada vez que sincronizo porque son bases de datos muy grandes.

Tengo el siguiente construc que lo que hace es hacer una imagen pequeña, es decir la redimensiona a 60 Pixeles por 60 Píxeles. Aquí la pueden ver

Código:
function __construct($filename, $newxsize=60, $newysize=60, $fileout='', $thumbMaxSize=0, $bgred=0, $bggreen=0, $bgblue=0) {

		if($thumbMaxSize) {

			$this->maxSize = true;

		} else {

			$this->maxSize = false;

		}

		

		if($bgred >= 0 || $bgred <= 255) {

			$this->bg_red = $bgred;

		} else {

			$this->bg_red = 0;

		}

		

		if($bggreen >= 0 || $bggreen <= 255) {

			$this->bg_green = $bggreen;

		} else {

			$this->bg_green = 0;

		}

		

		if($bgblue >= 0 || $bgblue <= 255) {

			$this->bg_blue = $bgblue;

		} else {

			$this->bg_blue = 0;

		}

		

		$this->createImg($filename,$newxsize,$newysize,$fileout);

	}
Siempre me da error en la penúltima almohadilla. El error que da es de memoria es el siguiente:

[26-jun-2009 02:59:08] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 9920 bytes) in administrator/components/com_providers/libraries/utilities/img2thumb.php on line 95

El tema está en que el script dura un porrón de tiempo, tengo el max_execution_time ilimitado, y cuando lleva muchos productos casi al final se jode, saltando este error. No se que puedo hacer para esta aplicación me tiene loco jeje.


He probado a ampliar la memoria a 256 megas y sigue igual. Entonces querría saber si hay algún código más eficiente en terminos de uso de memoria que me valga para redimensionar las imagenes estas, o modificar esta función para que no me de el dichoso error de la memoria.

Estaría tremendamente agradecido si me ayudasen :).


Muchas gracias a todos por hacer este gran sitio

Última edición por hyperrjas; 26/06/2009 a las 11:13