Hola gente,
Este es el script con problemas:
Código PHP:
<?
set_time_limit(0); //Tiempo de ejecucion ilimitado
$dir=$_GET["dir"];
if ($dir!="")
{
$directorio = dir("$dir");
while($fichero=$directorio->read())
{
if ($fichero!="." && $fichero!=".." && $fichero!="thumbs" && $fichero!="agua")
{
$archivo = explode(".", $fichero);
$origen_nombre=$archivo['0'];
$origen=$dir.$fichero;
$destino=$dir.$origen_nombre."b.jpg";
$destino_temporal=tempnam("/tmp","tmp");
redimensionar_jpeg($origen, $destino_temporal, 640, 480, 100);
// guardamos la imagen
$fp=fopen($destino,"w");
fputs($fp,fread(fopen($destino_temporal,"r"),filesize($destino_temporal)));
fclose($fp);
// mostramos la imagen
chmod($destino,777);
echo "<img src='$destino' border=\"0\"> ";
}
}
$directorio->close();
}
else
{ ?>
<FORM action="crear_thumbs.php" method="GET">
Nomnbre del directorio: <INPUT type="text" name="dir" value="fotos/" size="40"> <INPUT type="submit" value="Enviar">
</FORM>
<?php }
function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
// crear una imagen desde el original
$img = ImageCreateFromJPEG($img_original);
// crear una imagen nueva
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);
// redimensiona la imagen original copiandola en la imagen
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la nueva imagen redimensionada donde indicia $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
ImageDestroy($img);
}
?>
Este script lo que hace es guardar una copia de la foto original pero en 640x480 y con una b al final. Pj: Si el original es foto.jpg, la copia es fotob.jpg
El problema surge cuando hay muchas fotos en la carpeta donde estan las fotos (si hay pocas fotos funciona barbaro), me toma como foto original a las copias y me empieza a crear archivos fotobb.jpg, fotobbb.jpg, etc.... y esto me cuelga el server ya que se forma un bucle muuuuuy largo.
Hay alguna forma de evitar eso con alguna funcion o algo?
Saludos y espero sus respuestas,
Gracias