Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hernandes Yesdude

Marca d'agua...muitos arquivos

Recommended Posts

olá

encontrei esse scriptzinho aqui de colocar marca d'agua nas fotos...ele funciona bem se na pasta tiver poucos arquivos...fui tentar no meu site, onde há umas 600...e ele "trava" ...

da esse erro

Fatal error: Maximum execution time of 30 seconds exceeded in /home/junge86/public_html/site/a_marca.php on line 30

 

o que eu poderia fazer para executar uma foto de cada vez...sei la...uma solução :(

 

abraço ae

valeu

 

script:

<?// Watermark maker - by Leonardo Faria - http://www.leonardofaria.net - CC Licensed$diretorio = "gallery";						   // Pastas das fotos$handle = opendir("$diretorio");						// Lê o diretóriowhile (($jpg = readdir($handle))!==false) {  $filtro = substr ($jpg,-3);						   // Filtra: quais arquivos do diretório irei trabalhar  if (($filtro == "jpg" || $filtro == "JPG" || $filtro == "png" || $filtro == "PNG")) {		$categoria = substr($jpg,0,-4);				  // Corta a extensão indesejada, seja jpg, JPG, png ou PNG		$foto = "$diretorio/$categoria.jpg";			 // O caminho da imagem		$marca =  "img/marca.gif";						   // A marca d'água		$imagem_gerada =  explode(".", $foto);		$imagem_gerada =  $imagem_gerada[0] . ".jpg";	// O nome da nova imagem		$imagem_orig   =  ImageCreateFromJPEG($foto);	// Carrega a imagem		$imagem_marca  =  ImageCreateFromgif($marca);	// Carrega a marca d'água		$largura	   =  ImagesX($imagem_orig);		 // A nova largura vai ter o mesmo tamanho da original		$altura		=  ImagesY($imagem_orig);		 // A nova altura vai ter o mesmo tamanho da original		$imagemX	   =  ImagesX($imagem_orig);		 // Achando a largura da imagem original		$imagemY	   =  ImagesY($imagem_orig);		 // Achando a altura da imagem original		$marcaX		=  ImagesX($imagem_marca);		// Achando a largura da marca d´água		$marcaY		=  ImagesY($imagem_marca);		// Achando a altura da marca d´água		$marcanovaX	= ($imagemX - $marcaX) - 8;	   // Essa é a posição X onde a marca d´água vai aparecer na nova imagem: a largura total da imagem X - a largura total da marca d´água - 8 (um padding)		$marcanovaY	= ($imagemY - $marcaY) - 4;	   // Essa é a posição Y onde a marca d´água vai aparecer na nova imagem: a altura total da imagem Y - a altura total da marca d´água - 4 (um padding)		$imagem_fin	=  ImageCreateTrueColor($largura, $altura); // Carrega a nova imagem		ImageCopyResampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura, $altura, $imagemX, $imagemY); // Copia a imagem original para a nova		ImageCopyMerge($imagem_fin, $imagem_marca, $marcanovaX, $marcanovaY, 0, 0, $marcaX, $marcaY, 40); // Copia a marca d´água para a nova imagem		ImageJPEG($imagem_fin, $imagem_gerada);		  // Salva a imagem		ImageDestroy($imagem_orig);					  // Libera a memória		ImageDestroy($imagem_fin);					   // Libera a memória	}}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

experimente mudar essas 3 linhas do teu php.ini:

 

max_execution_time = 30	; Maximum execution time of each script, in secondsmax_input_time = 60; Maximum amount of time each script may spend parsing request datamemory_limit = 8M	 ; Maximum amount of memory a script may consume (8MB)

aumente um pouco os valores, veja se com 60 seg. chega ou aumentando a memória disponível, já que imagem sempre consome bastante memória quando se trabalha.

flws!

Compartilhar este post


Link para o post
Compartilhar em outros sites

fale com os caras pra te ajudarem ué, você não paga?outra coisa, por que você não divide isso? tem que fazer essa marca d'água em 600 imagens duma vez?não dá pra ir fazendo aos poucos?quem tudo quer nada tem.reveja isso cara.flws!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.