Estoy siguiendo este tutorial:
http://www.forosdelweb.com/f18/faqs-...tml#post282620
para generar un Thumbnail (imagen pequeña) en PHP usando GD
Desde la imagen grande en carpeta "images" a imagen pequeña en carpeta "thumbs"
Introduzco 1234.jpg y le doy al submit
... pero me da este error:
1234.jpg // esto lo hago con un echo para estar seguro que el nombre esta bien
No se ha podido crear el directorio .images/thumbs/
el codigo es: index.php
Código:
y como tengo las carpetas y archivos lo pueden ver en este screenshot:<?php if(isset($_POST['submitted'])){ echo $_POST['imagen']."<br/>";//para estar seguro que el nombre está correcto function thumbjpeg($imagen,$altura) { // Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande". $dir_thumb = "thumbs/"; // 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)."http://www.forosdelweb.com/images/"; // Intentamos crear el directorio de thumbnails, si no existiera previamente. if (!file_exists($camino.$dir_thumb)) @mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb); // Aquí comprovamos que la imagen que queremos crear no exista previamente if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) { echo $camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n"; $img = @imagecreatefromjpeg($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. imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre); } } $imagen=$_POST['imagen']; thumbjpeg($imagen, 125); }//end if submitted ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <head> </head> <body> <form action="index.php" method="post"> <input name="imagen" type="text"> <input name="submitted" type="hidden"> <input name="enviar" type="submit"> </form> </body> </html>
o sea: en la raiz estan: "index.php" y la carpeta "images", y dentro de images esta la imagen "1234.jpg" y la carpeta "thumbs"