Foros del Web » Programando para Internet » PHP »

Problemas en subida archivos

Estas en el tema de Problemas en subida archivos en el foro de PHP en Foros del Web. Hola amigos, tengo el siguiente problema. La pagina que sube archivos (imagenes en mi caso) no me indica ningun error, pero la imagen no aparece ...
  #1 (permalink)  
Antiguo 22/10/2004, 08:21
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 14 años, 3 meses
Puntos: 0
Problemas en subida archivos

Hola amigos, tengo el siguiente problema.
La pagina que sube archivos (imagenes en mi caso) no me indica ningun error, pero la imagen no aparece en el servidor. Si vuelvo a realizar la operación, entonces si que aparece la imagen en el servidor.
¿A que es debido esto??
Os pongo mi codigo por si encontrais el error. Gracias!

chdir("../directorio");

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['foto']['name'];
$tipo_archivo = $HTTP_POST_FILES['foto']['type'];
$tamano_archivo = $HTTP_POST_FILES[$foto]['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000)))
{
echo "La extensión o el tamaño de los archivos no es correcta.<br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}
else{
if (move_uploaded_file($HTTP_POST_FILES['foto']['tmp_name'], $ref.".gif")){
$sql_update="UPDATE tablaSET foto='s' where referencia = '".$ref."'";
$resultado=mysql_query($sql_update);
header("location:pagina.php?id=$id&informacion=El archivo ha sido cargado correctamente.");
}
else{

header("location:pagina.php?id=$id&informacion=Ocu rrió algún error al subir el fichero. No pudo guardarse.");
}
}
  #2 (permalink)  
Antiguo 22/10/2004, 08:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. ¿donde "ves" tu imagen? que script o página HTML común lo lee?

Un detallito al margen ...

Si por el URL pasas cadenas (strings) con espacios .. sólo veras hasta la primera palabra ..

header("location:pagina.php?id=$id&informacion=El archivo ha sido cargado correctamente.");

Deberías usar urlencode():
Código PHP:
header("location:pagina.php?id=$id&informacion=".urlencode("El archivo ha sido cargado correctamente.")); 
Un saludo,
  #3 (permalink)  
Antiguo 22/10/2004, 08:48
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 14 años, 3 meses
Puntos: 0
El problema no es que la muestre mal, simplemente no llega a subirse al servidor, no aparece en el directorio. Donde la recojo se muestra bien, porque a la segunda vez si aparece.
Sabes porque puede ser esto?? no encuentro el problema, ya he utilizado la subida de archivos anteriormente y nunca me paso esto.
Gracias!!
  #4 (permalink)  
Antiguo 22/10/2004, 09:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si dices que "no llega a subirse al servidor, no aparece en el directorio" .. ¿como es que aparece donde la llamas "la segunda vez"? (y que significa "la segunda vez"? .. la segunda vez que intentas subir ese archivo .. que recargas la página/script que lee ese archivo? ...)

Otros detallitos:
$tamano_archivo = $HTTP_POST_FILES[$foto]['size'];

o sobra el $ de foto .. y queda:
$tamano_archivo = $HTTP_POST_FILES['foto']['size'];

o el resto es lo que no cuadra con eso ...

Un saludo,
  #5 (permalink)  
Antiguo 22/10/2004, 18:42
 
Fecha de Ingreso: agosto-2003
Mensajes: 75
Antigüedad: 14 años, 3 meses
Puntos: 0
ok, gracias por el fallo de $foto, creia que seria eso, pero no...
Te explico. yo selecciono la imagen y pulso enviar. cuando ejecuta esas sentencias, compruebo el directorio de mi servidor, y la imagen no aparece.
Vuelvo a seleccionar la imagen y vuelvo a pulsar enviar, y tachannnn!!! aparece la imagen... es cosa de magia??

Gracias por tu ayuda!
Un saludo!
  #6 (permalink)  
Antiguo 22/10/2004, 19:27
 
Fecha de Ingreso: enero-2004
Mensajes: 235
Antigüedad: 13 años, 11 meses
Puntos: 0
Pues yo veo bien el código, lo único que se me ocurre es poner el path absoluto a donde quieres guardar la imagen.

Lo raro es que la segunda vez que haces el upload, aparezca la imagen.

Un saludo.
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 13:39.