Hola
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:
<?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>
y como tengo las carpetas y archivos lo pueden ver en este screenshot:
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"