Hola a todos, tengo el siguiente codigo manejador de imagenes la cual lo he adaptado un poco a mis necesidades, el directorio thumbnails existe por tanto eliminé la instrucción para crearla si no existe. El codigo es el siguiente:
<?php
$imagen = "img/0415.jpg";
$altura = 200;
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande".
$dir_thumb = "thumbnails/";
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg",
// el thumbnail se llamaría "tn_imagen1.jpg"
$prefijo_thumb = "tn_";
// Aquí tendremos el nombre de la imagen.
$nombre=basename($imagen);
// Aquí la ruta especificada para buscar la imagen.
$camino=dirname($imagen)."/";
echo "EXISTE? --> ".$camino.$dir_thumb.$prefijo_thumb.$nombre."<br>< br>";
// Aquí comprovamos que la imagen que queremos crear no exista previamente
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$n ombre)) {
//echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br><br>\n";
$img = @imagecreatefrompng($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
// miramos el tamaño de la imagen original...
$datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
// intentamos escalar la imagen original a la medida que nos interesa
$ratio = ($datos[1] / $altura);
$anchura = round($datos[0] / $ratio);
// esta será la nueva imagen reescalada
$thumb = imagecreatetruecolor($anchura,$altura);
// con esta función la reescalamos
imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
// voilà la salvamos con el nombre y en el lugar que nos interesa.
imagepng($thumb,$camino.$dir_thumb.$prefijo_thumb. $nombre);
}else{
echo "IMAGEN EXISTE<br><br>";
}
?>
La cual no me funciona. siempre la sentencia "$img = @imagecreatefrompng($camino.$nombre)" no encuentra el archivo y resulta que el archivo imagen existe en el directorio "img" y la paciencia se me acabó asi que he recurrido a uds a ver si me pueden dar una mano.