imagen redimensionada no se deja guardar
Publicado por Joan (3 intervenciones) el 11/03/2010 19:01:47
Hola amigos,
Estoy trabajando con un pequeño script que redimensiona imagenes, pero la imagen redimensionada no se quiere guardar en la carpeta. Cuando ejecuto el programa sale este mensaje:
Warning: move_uploaded_file() expects parameter 1 to be string, resource given in C:\apachefriends\xampp\htdocs\php5\miGrabarFichero3.php on line 42
Parece que dice que en la linea 42 le falta un parametro pero la verdad no lo se ver.
El script es este:
<?php
//Mediante un formulario se carga una imagen con el nombre "fichero" y se asigna a $nombre
$nombre=$_FILES["fichero"] ["tmp_name"];
//Se establecen la anchura y la altura para la nueva imagen redimensionada
$anchura=215;
$hmax=215;
//Se asigna a $datos los atributos de $nombre
$datos = getimagesize($nombre);
//Se averigua el tipo de la imagen y se crea la base para la nueva imagen con el tipo averiguado
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
//Uff!
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
//Se asigna a $ext el tipo correspondiente a la nueva imagen (es el mismo de la imagen original)
if($datos[2]==1){$ext=".gif";}
if($datos[2]==2){$ext=".jpg";}
if($datos[2]==3){$ext=".png";}
//Se asigna a $nuevoNombre el nombre para la nueva imagen (aqui sin la extension)
$nuevoNombre="foto_1";
//Se asigna a $destino el path con el nombre de archivo nuevo completo
$destino = "imagenes2/".$nuevoNombre.$ext;
//Mas uff!
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
//Se asigna a $thumb un contenedor para la nueva imagen (creo)
$thumb = imagecreatetruecolor($anchura,$altura);
//Por fin se crea la nueva imagen redimensionada en $thumb
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
//Aqui se deberia grabar la nueva imagen en mi carpeta "imagenes2" pero no quiere
move_uploaded_file($thumb, $destino)or DIE("No ha funcionado");
//Aqui se liberan recursos de memoria
imagedestroy($thumb);
?>
[/i]
Agradeceré una ayuda.
Estoy trabajando con un pequeño script que redimensiona imagenes, pero la imagen redimensionada no se quiere guardar en la carpeta. Cuando ejecuto el programa sale este mensaje:
Warning: move_uploaded_file() expects parameter 1 to be string, resource given in C:\apachefriends\xampp\htdocs\php5\miGrabarFichero3.php on line 42
Parece que dice que en la linea 42 le falta un parametro pero la verdad no lo se ver.
El script es este:
<?php
//Mediante un formulario se carga una imagen con el nombre "fichero" y se asigna a $nombre
$nombre=$_FILES["fichero"] ["tmp_name"];
//Se establecen la anchura y la altura para la nueva imagen redimensionada
$anchura=215;
$hmax=215;
//Se asigna a $datos los atributos de $nombre
$datos = getimagesize($nombre);
//Se averigua el tipo de la imagen y se crea la base para la nueva imagen con el tipo averiguado
if($datos[2]==1){$img = @imagecreatefromgif($nombre);}
if($datos[2]==2){$img = @imagecreatefromjpeg($nombre);}
if($datos[2]==3){$img = @imagecreatefrompng($nombre);}
//Uff!
$ratio = ($datos[0] / $anchura);
$altura = ($datos[1] / $ratio);
//Se asigna a $ext el tipo correspondiente a la nueva imagen (es el mismo de la imagen original)
if($datos[2]==1){$ext=".gif";}
if($datos[2]==2){$ext=".jpg";}
if($datos[2]==3){$ext=".png";}
//Se asigna a $nuevoNombre el nombre para la nueva imagen (aqui sin la extension)
$nuevoNombre="foto_1";
//Se asigna a $destino el path con el nombre de archivo nuevo completo
$destino = "imagenes2/".$nuevoNombre.$ext;
//Mas uff!
if($altura>$hmax){$anchura2=$hmax*$anchura/$altura;$altura=$hmax;$anchura=$anchura2;}
//Se asigna a $thumb un contenedor para la nueva imagen (creo)
$thumb = imagecreatetruecolor($anchura,$altura);
//Por fin se crea la nueva imagen redimensionada en $thumb
imagecopyresampled($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
//Aqui se deberia grabar la nueva imagen en mi carpeta "imagenes2" pero no quiere
move_uploaded_file($thumb, $destino)or DIE("No ha funcionado");
//Aqui se liberan recursos de memoria
imagedestroy($thumb);
?>
[/i]
Agradeceré una ayuda.
Valora esta pregunta
0