Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 }}?>
Carregando comentários...