João Melo 1 Denunciar post Postado Abril 30, 2008 Tenho este script que peguei (ñ lembro onde :blink: ), este pega as imagens de um diretório onde estão as imagens, mas o adaptei para pegar as imagens apartir do bd, em fim, coloquei este no servidor e quando vou ver as imagens dá este erro: Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 7680 bytes) in /home/.../.../galeria.php on line 92 mas este erro só aconteçe quando coloco uma imagem com tamanho de 200k acima fora isto fica mormal. quem puder me dar esta força agradeço pq ainda ñ conseguir resolver. http://forum.imasters.com.br/public/style_emoticons/default/cry.gif <?php $pasta = $_GET['pasta']; ini_set("max_execution_time",0); $dir = $pasta; $img_p_line = 8; // Imagens por linha $dh = opendir($dir); $n=1; $Array = array(); while (false !== ($filename = readdir($dh))) { if (substr($filename,-4) == ".jpg" || substr($filename,-5) == ".jpeg" || substr($filename,-5) == ".JPEG" || substr($filename,-5) == ".JPG" and substr($filename,-9) != "mini.jpeg" and substr($filename,-8) != "mini.jpg") { $bbcode = explode("." , $filename); $Array[$n]= $filename; $n++; } } $s = count($Array); $regs_p_pagina=30; $total = $s; $paginas = ceil($total / $regs_p_pagina); $pagina = $_GET['pagina']; if(!isset($pagina)) // Especifica uma valor para variavel pagina caso a mesma não esteja setada { $pagina = 1; $inicio =1; $final = $regs_p_pagina; } for($i=1;$i<=$s;$i++){ $imagem = "$dir/$Array[$i]"; if(file_exists($imagem)){ $tamanho_fixo="S"; //s = sim N = nao $largura_fixa="97"; $altura_fixa="75"; $percentual = "20"; if($tamanho_fixo=="N" && ($percentual<1 || $percentual>100)) { echo "O Percentual deve ser enter 0 e 100!"; exit; } $arquivo_miniatura= explode('.', $imagem); $arquivo_miniatura= $arquivo_miniatura[0]."_mini.jpg"; [b]//Esta é a linha 92[/b] $img_origem = ImageCreateFromJPEG($imagem); $origem_x = ImagesX($img_origem); $origem_y = ImagesY($img_origem); if($tamanho_fixo=="S"){ $x = $largura_fixa; $y = $altura_fixa; } else{ $x = intval($origem_x * $percentual/100); $y = intval($origem_y * $percentual/100); } $img_final = ImageCreateTrueColor($x,$y); ImageCopyResampled($img_final, $img_origem, 0, 0,0,0, $x+1, $y+1, $origem_x, $origem_y); ImageJPEG($img_final, "$arquivo_miniatura"); ImageDestroy($img_origem); ImageDestroy($img_final); }else { echo ""; } } $n=1; echo "<b>$inicio</b> <b>$final</b>"; if($pagina==1) { $inicio = 1; $final = $inicio + $regs_p_pagina; } else { $inicio = $_GET['ini']; $final = $_GET['f']; } for($i=$inicio;$i<$final;$i++) { $arquivo_miniatura = explode('.', $Array[$i]); $tamanho = @getimagesize("$dir/$arquivo_miniatura[0].jpg"); $arquivo_miniatura = $arquivo_miniatura[0]."_mini.jpg"; if(file_exists("$dir/$arquivo_miniatura")) { echo "<a href=$pasta/$Array[$i] rel='lightbox[roadtrip]' title=".str_replace("_"," ",$Array[$i])."><img src='$dir/$arquivo_miniatura' border=0></a> "; if($n>=$img_p_line) { $n=0; } $n++; }else { } } echo "<p></p>"; if($pagina>1) { $pag = $pagina -1; echo "<a href=\"?pasta=$pasta&pagina=1\" title='Ir Para primeira pagina'> << </a>"; } for($j=1;$j<=$paginas;$j++) { $final = $j * $regs_p_pagina; $inicio = $final - $regs_p_pagina; if($j==$pagina) { echo "| <b>$j</b> "; } else { echo "| <a href=\"?pasta=$pasta&pagina=$j&ini=$inicio&f=$final\" title=\"Ir Para pagina $j\" >$j</a> "; } } if($pagina<$paginas) { echo "<a href=\"?pasta=$pasta&pagina=$paginas&ini=$inicio&f=$final\" title='Ir Para ultima pagina'> >> </a>"; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
willwalker 2 Denunciar post Postado Abril 30, 2008 Talvez o administrador do seu servidor colocou um limite no tamanho das imagens a serem exibidas temporariamente... Você está testando em um host gratuito ? Aconselho a usar os serviços da http://www.tehospedo.com.br Tambem tenho um sisteminha desse em meu site e lá não dá problema algum... Talvez eu esteja falando besteira mas não custa nada tentar, eles te dão 15 dias gratis e tu pode testar sem pagar nada, fala que foi indicação minha, dizendo na observação do formulário de pedido da hospedagem, que foi o cliente do site www.twowalker.com.br que indicou! Abraços Walker Compartilhar este post Link para o post Compartilhar em outros sites
João Melo 1 Denunciar post Postado Maio 1, 2008 o host é pago e quanto ao limite vou verificar isso. muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
João Melo 1 Denunciar post Postado Maio 3, 2008 RESOLVIDO Foi só eu aumentar o limite de memória <?php ini_set("memory_limit","30M"); ..... ?> Compartilhar este post Link para o post Compartilhar em outros sites