Foros del Web » Programando para Internet » PHP »

upload y redimencionar imagen jpg

Estas en el tema de upload y redimencionar imagen jpg en el foro de PHP en Foros del Web. Hola muchachos. Soy nuevo aqui. Hace poco que estoy comenzando a trabajar con php. Tengo un script que me deberia hacer subir una imagen al ...
  #1 (permalink)  
Antiguo 02/09/2004, 17:57
 
Fecha de Ingreso: febrero-2004
Mensajes: 2
Antigüedad: 20 años, 2 meses
Puntos: 0
upload y redimencionar imagen jpg

Hola muchachos.

Soy nuevo aqui. Hace poco que estoy comenzando a trabajar con php. Tengo un script que me deberia hacer subir una imagen al servidor y al mismo tiempo crear una version pequeña de dicha imagen. Sinembargo no funciona bien pues me sube la imagen original pero no me crea la imagen pequeña y deberia hacer las dos cosas.

Ademas, en el php me aparece el siguiente erros cuando lo subo al servidor:

Código:
Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/hogardec/public_html/plantilla8/up.php on line 38


El script que estoy usando es el siguiente:

Código:
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified:" . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

$max_size = 20000;
$max_width = 2000;
$max_height = 2000;
$dirname = 'img';

if (isset($fichier)) $tab = getimagesize($fichier);

if ($fichier_size > $max_size || $fichier_size == 0) $status=-2;

else if (!$fichier || $fichier == "none") $status=-1;
else if (strpos($fichier_name,"\\") || strpos($fichier_name, "/")) $status=-1;
else if (!stristr($fichier_name, ".jpg")) $status=-1;

else if (!$tab[0]) $status=-3;

else if (!stristr($fichier_type, "jpeg")) $status=-1;
else if ($tab[0] > $max_width) $status=-4;
else if($tab[1] > $max_height) $status=-5;
else {

/* Estos valores ahora estan fijos... pero se puede cambiar */
$ancho_nuevo = 50;
$alto_nuevo = 100;

/* Creamos una copia de la imagen original */
$imagen = imagecreatefromjpeg($fichier);
/* Creamos una nueva imagen a color real */
$thumb_tmp = imagecreatetruecolor($ancho_nuevo, $alto_nuevo);
/* Creamos ahora si la nueva imagen reducida */
$thumb = imagecopyresized($thumb_tmp, $imagen, 0, 0, 0, 0, $ancho_nuevo, $alto_nuevo, $tab[0], $tab[1]);

imagejpeg($thumb, $dirname."/_thumb_".$fichier_name, 75);
copy($fichier, $dirname."/".$fichier_name);
$status=0;
}


echo "<HTML><BODY><script>window.top.upLoadEnd('$browse LC',$status,'$fichier_name','".urlencode("%+datas from server: $dataLC")."')</script></HTML>";

?>


Si alguien pudiera ayudarme le agredecere mucho. Ya he revisado el codigo muchas veces y no encuentro el error.

Saludos
  #2 (permalink)  
Antiguo 03/09/2004, 08:08
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos.

Lo que veo es que estas pasando un valor no válido a la función imagejpeg().

Y en esa función tienes:

imagejpeg($thumb, $dirname."/_thumb_".$fichier_name, 75);

prueba con

$dirname .= "/_thumb_";

imagejpeg($thumb, $dirname.$fichier_name, 75);

De todas formas, que trae esa variable $dirname ???

Suerte
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:41.