Foros del Web » Programando para Internet » PHP »

Consulta Sobre Errores

Estas en el tema de Consulta Sobre Errores en el foro de PHP en Foros del Web. hola, como estan? tengo estos errores q me da a la hora de subir una imagen a MYSQL. Cita: Warning: imagecreatefrompng(Array) [function.imagecreatefrompng]: failed to open ...
  #1 (permalink)  
Antiguo 02/03/2010, 18:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 48
Antigüedad: 14 años, 2 meses
Puntos: 0
Consulta Sobre Errores

hola, como estan? tengo estos errores q me da a la hora de subir una imagen a MYSQL.

Cita:
Warning: imagecreatefrompng(Array) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /var/www/proyecto/pruebasubirfoto.php on line 56
Ahora, eso es en el codigo php lo cual le envio esto:

Cita:
<?php
$subir_foto = $_SERVER['PHP_SELF'];
$Paso = 0;
if ((isset($_POST["OC_Aceptar"])) && ($_POST["OC_Aceptar"] == "frmFoto")) {
//Copia la foto en carpeta usuario
$Sali = $_FILES["txtArchi"]["name"];
move_uploaded_file($_FILES["txtArchi"]["tmp_name"], $ruta . "/" . $Sali);


//define las rutas
$Fuente = $ruta.'/'.$Sali;
$Tipo = $_FILES["txtArchi"]["type"];
switch ($Tipo) {
case "image/jpeg":
//crear una imagen apartir de un archivo url
$imagen_tmp = imagecreatefromjpeg($_FILES['txtArchi']);

//inicia almacenamiento en el bufer de salida
ob_start();

//produce la salida de una imagen en el navegador o a un archivo
imagejpeg($imagen_tmp);

//devuelve el contenido del buffer de salida
$imagen_fnl = ob_get_contents();

//limpia el buffer de salida y termina el almacenamiento en el buffer de salida
ob_end_clean();

//identifica que el tipo de imagen es válida
$Paso = 1;
break;
ahora ella si me copia la imagen a la carpeta propia del Usuario, el problema es que cuando veo la BD me sale el simbolo de blob la observo y en el texto me sale sale este error:

Cita:
Warning: imagepng(): supplied argument is not a valid Image resource in /var/www/proyecto/pruebasubirfoto.php on line 58
ojo existe un case de "png" pero con jpeg, gif y ese formato igual me da el error, eso visto desde UBUNTU.

Aqui inserto los datos a la base de datos:

Cita:
if($Paso = 1){
$imagen_fnl = str_replace("##","##",mysql_escape_string($imagen_ fnl));

$AuxSql = "update usuario set usavatar='$imagen_fnl', avatarmime='$Tipo' where usnick='$usuario'";

//selecciona la base de datos y actualiza registro
mysql_select_db($database, $MiConexion);
$Regis = mysql_query($AuxSql, $MiConexion) or die(mysql_error());
}
ya le he dado por muchos lados, y viendo que es el error y no se :S

saludos
  #2 (permalink)  
Antiguo 02/03/2010, 18:07
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Consulta Sobre Errores

El error es claro, le estas pasando un array a imagecreatefrompng(), cuando esta espera un string (con la ruta del archivo) :/
  #3 (permalink)  
Antiguo 02/03/2010, 18:17
 
Fecha de Ingreso: febrero-2010
Mensajes: 48
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Consulta Sobre Errores

Cita:
Iniciado por darkasecas Ver Mensaje
El error es claro, le estas pasando un array a imagecreatefrompng(), cuando esta espera un string (con la ruta del archivo) :/
probé ciertas cosas asi:

$imagen_tmp = imagecreatefromjpeg($ruta."/avatarcopiaz.jpg");

si me subió la imagen

pero ese "txtArchi" es esto en el formulario:

Cita:
<form method="post" name="frmFoto" action="<?php echo $subir_foto; ?>" enctype="multipart/form-data">

<input name="txtArchi" type="file" size="50">
entonces como haria para agregarle la ruta de la imagen, si el txtArchi es el q contiene esa ruta?

No entiendo por que me manda un array

gracias por la respuesta


saludos

EDITO

Problema Solucionado lo que hice fue que cuando ella guardara la imagen en la carpeta usuario hiciera esto:

Cita:
$imagen_tmp = imagecreatefromjpeg($ruta."/".$_FILES["txtArchi"]["name"]);
saludos y gracias

Última edición por repo316; 02/03/2010 a las 19:07

Etiquetas: Ninguno
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:56.