Foros del Web » Programando para Internet » PHP »

A que se debe este error con GD

Estas en el tema de A que se debe este error con GD en el foro de PHP en Foros del Web. hola amigos, alguien sabe a que se debe este error usando GD Cita: Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/minerafm/public_html/cotuiurbano/config/P_cambiar_foto_n.php ...
  #1 (permalink)  
Antiguo 26/09/2008, 00:28
Avatar de djdraft  
Fecha de Ingreso: abril-2008
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Pregunta A que se debe este error con GD

hola amigos, alguien sabe a que se debe este error usando GD
Cita:
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/minerafm/public_html/cotuiurbano/config/P_cambiar_foto_n.php on line 101
Lo que no entiendo es porque solo lo hace con algunas imagenes, es decir, algunas suben perfectamente pero otras aparece ese error y la sube pero queda negra, este es mi codigo

Cita:
<?php

if($_FILES[foto][name]==""){
echo "";

}else{

$destino = "../img";
$nombre = "rafi";
$nom=$_FILES['foto']['name'];
$kb = substr($_FILES['foto']['size']/1024, 0,5);
$resta = $kb - 50;
$tipo = $_FILES['foto']['type'];

$longitud = strlen($_FILES[foto]['name']);
$posicion = strrpos($_FILES['foto']['name'],'.');
$extension = substr($_FILES['foto']['name'], $posicion);

copy($_FILES['foto']['tmp_name'],$destino."/".$img);


}


?>

<h2>Publicando Noticia...</h2>
<meta http-equiv="refresh" content="2; url=../index.php">



<?php

function thumbjpeg($imagen,$altura) {

//OBTENGO EL TIPO DE FOTO
$posicion = strrpos($_FILES['foto']['name'],'.');
$extension = substr($_FILES['foto']['name'], $posicion);


// 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 = "tm_";

// Aquí tendremos el nombre de la imagen.
$nombre=basename($imagen);
// Aquí la ruta especificada para buscar la imagen.
$camino=dirname($imagen)."/";

// 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);


if($extension==".jpg"){

$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
}

else if($extension==".gif"){
$img = @imagecreatefromgif($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");

}
if($extension==".png"){
$img = @imagecreatefrompng($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.
if($extension==".jpg"){

imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb .$nombre);
}
elseif($extension=".gif"){
imagegif($thumb,$camino.$dir_thumb.$prefijo_thumb. $nombre);
}
if($extension==".png"){
imagepng($thumb,$camino.$dir_thumb.$prefijo_thumb. $nombre);
}

}

if($_POST[categoria]=="Musica")
{
$tm_tamano_tm = 70;
}else{
$tm_tamano_tm = 90;
}

$tm_tamano_normal = 220;

$imagen = "../img/".$img;
$imagen2 = "../img/thumbs/tm_".$img;

thumbjpeg($imagen, $tm_tamano);
thumbjpeg($imagen2, $tm_tamano_tm);

$ruta_destruir = $destino."/".$img;

unlink($ruta_destruir);

}//FIN CONDICION IDENTIFICA ADMIN

else{

echo "Que pajo manin, tu no estas autorizado para entrar en esta area";

}

?>
__________________
<img src="http://i280.photobucket.com/albums/kk197/djdraft22/DR.jpg">
  #2 (permalink)  
Antiguo 26/09/2008, 00:47
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: A que se debe este error con GD

$ratio = ($datos[1] / $altura);
$anchura = round($datos[0] / $ratio);

$thumb = imagecreatetruecolor($anchura,$altura);

Talvez este en $anchura.
Debe ser el $ratio * el ancho ($datos[0]).

Tambien revisa la ruta de imagecreatefromjpeg|gif|png. Quitale el @, a ver si te da algun error y luego de que lo resuelvas, ponselo de nuevo.
  #3 (permalink)  
Antiguo 26/09/2008, 10:15
Avatar de djdraft  
Fecha de Ingreso: abril-2008
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Respuesta: A que se debe este error con GD

Gracias de todos modos pero no pasa nada, sigue igual, lo k no entiendo es porque solo lo hace con una imagen mmm.
__________________
<img src="http://i280.photobucket.com/albums/kk197/djdraft22/DR.jpg">
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 19:56.