Foros del Web » Programando para Internet » PHP »

$HTTP_POST_FILES[x,x] no sube mi archivo a la primera

Estas en el tema de $HTTP_POST_FILES[x,x] no sube mi archivo a la primera en el foro de PHP en Foros del Web. Hola a todos, ojalá puedan ayudarme a resolver este problema, que ya me trae azorado desde hace varios días y no le encuentro soución y ...
  #1 (permalink)  
Antiguo 24/06/2008, 09:40
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
$HTTP_POST_FILES[x,x] no sube mi archivo a la primera

Hola a todos, ojalá puedan ayudarme a resolver este problema, que ya me trae azorado desde hace varios días y no le encuentro soución y me urge un poco ja.

Estoy usando la función $HTTP_POST_FILES para subir imágenes a una carpeta específica en el servidor. mi código es el siguiente:

<?PHP
if(isset($_POST['submit'])){
$path="2008/galerias/HO/";
$nombre=$HTTP_POST_FILES['file']['name'];
$temp=$HTTP_POST_FILES['file']['tmp_name'];
$tipo=$HTTP_POST_FILES['file']['type'];
$size=$HTTP_POST_FILES['file']['size'];
if(is_uploaded_file($temp)){
move_uploaded_file($temp, $path.$nombre);
echo $nombre.", ".$tipo.", ".$size.", ".$temp."<br>";
?><img src="<? echo $path.$nombre; ?>"><?
}else{
"Aqui es el momento del error";
}
?><img src="<? echo $path.$nombre; ?>"><?
} else{
?>
<form action="" method="post" enctype="multipart/form-data" name="img">
<input type="file" name="file" />
<input type="submit" name="submit" value="Subir imagen" />
</form>
<?
}
?>

En éste envío el archivo por el formulario al mismo archivo php y recivo lo svalores en la primera parte, si el valor no ha sido recibido entonces muestra el formulario para enviarlo.

Asigno los valores de la matriz a variables, compruebo que el archivo haya sido subido al servidor con nombre temporal, y si esto es verdadero entonces hago el movimiento hacia la carpeta destino, y para comprobar que la imagen se ha cargado la imprimo debajo de los datos de la transferencia (nombre, tipo, tamaño).

Ya asigne todos los permisos de escritura a la carpeta y ya lo probé.

El punto es que no funciona a la primera, es decir cargo el archivo y al enviar el formulario no se carga la imágen, tengo que presionar la tecla F5 para recargar la página y x consiguiente se vuelve a enviar el formulario, y entonces si carga la foto a la carpeta.

Alguien sabe xq sucede esto?

Aqui está el archivo que estoy probando para que lo experimenten y me entiendan mejor y ojalá puedan ayudarme a descifrar este enigma.

Saludos.
  #2 (permalink)  
Antiguo 24/06/2008, 10:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: $HTTP_POST_FILES[x,x] no sube mi archivo a la primera

hola.... me extraña el funcionamiento de move_uploaded_file() es mejor usando un copy()

- también, es preferente usar la forma <?php completa
- igualmente usar $_FILES en ves de las variables "largas"

Código PHP:
<?php
if(isset($_POST['submit'])){
$path="2008/galerias/HO/";

$nombre=$_FILES['file']['name'];
$temp=$_FILES['file']['tmp_name'];
$tipo=$_FILES['file']['type'];
$size=$_FILES['file']['size'];

if(
is_uploaded_file($temp)){
copy($temp$path.$nombre);
unlink($temp);

echo 
$nombre.", ".$tipo.", ".$size.", ".$temp."<br>";
?><img src="<?php echo $path.$nombre?>"><?php
}else{
"Aqui es el momento del error";
}
?><img src="<? echo $path.$nombre?>"><?php
} else{
?>
<form action="" method="post" enctype="multipart/form-data" name="img">
<input type="file" name="file" />
<input type="submit" name="submit" value="Subir imagen" />
</form>
<?php
}
?>
hice la prueba y quedo, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/06/2008, 12:15
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: $HTTP_POST_FILES[x,x] no sube mi archivo a la primera

Mil gracias pateketrueke, me funcionó de maravilla. Cual es la razón por la que $_FILES funciona mejor que $HTTP_POST_FILES ? alguien sabe? ya es nada más como dato cultural para volvernos todos más expertos en la materia jeje.

Saludos.
  #4 (permalink)  
Antiguo 24/06/2008, 12:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: $HTTP_POST_FILES[x,x] no sube mi archivo a la primera

No es que funcione mejor, simplemente es que $HTTP_POST_FILES es una variable normal, y va a ser descontinuada en PHP6, mientras que $_FILES es una variable Superglobal y va a ser la forma soportada para subir archivos.

Saludos.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:19.