Problema con imagejpg

picavizu
03 de Septiembre del 2004
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('$browseLC',$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

chemon
03 de Septiembre del 2004
Creo que el problema lo tienes en que php no encuentra la libreria phpgd.dll. No se si sera porque no esta instalada en el servidor o porque la ruta de php.ini no esta bien.
Si es tu propio servidor revisa el codigo de php.ini.Si es un servidor administrado por otra persona ponte en contacto y preguntales si tienen esa libreria.
Espero que esto te sirva
Ya me dices

BYEEEEEEEEEEEEEE