Programación Web y Scripting > PHP

 imagen redimensionada no la puedo guardar

(1/1)

Ruthmy:
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:apachefriendsxampphtdocsphp5miGrabarFichero3.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);
?>

Agradeceré una ayuda.

jodijo5:
Hola, y hice este script, es para redimensionar imagenes, le pasas el archivo de origen, luego el archvio que se guardará las dimensiones y listo, espero esto te sirva. espècificamente esto escala y recorta una imagen:


--- Código: PHP --- <?phpfunction clipImage($file, $dest, $width, $height) {    $imSrc  = imagecreatefromjpeg($file);    $w      = imagesx($imSrc);    $h      = imagesy($imSrc);    $r=1;    /*if($width/$height>$w/$h) {        $nh = ($h/$w)*$width;        $nw = $width;    } else {        $nw = ($w/$h)*$height;        $nh = $height;    }*/    if($w>$width && $h>$height){        if(($w-$width)>($h-$height)){            $nw=$width;            $nh=$width*$h/$w;        }        else{            $nh=$height;            $nw=$height*$w/$h;        }    }    else{        if($w>$h){            $nw=$width;            $nh=$width*$h/$w;        }        else{            $nh=$height;            $nw=$height*$w/$h;        }    }    //$nw=$w-$r;    //$nh=$h-$r;    $dx = ($width/2)-($nw/2);    $dy = ($height/2)-($nh/2);    $imTrg  = imagecreatetruecolor($width, $height);    imagecopyresampled($imTrg, $imSrc, $dx, $dy, 0, 0, $nw, $nh, $w, $h);    imagedestroy($imSrc);    imagejpeg($imTrg, $dest, 95);    imagedestroy($imTrg);}?>  

Ruthmy:
Hola "jodijo5",

Gracias por el script que me has facilitado.
Comenzare a estudiarlo para ver si logro guardar la imagen redimensionada.

Repito, muchas gracias.

Navegación

[0] Índice de Mensajes

Ir a la versión completa