Foros del Web » Programando para Internet » PHP »

input type file

Estas en el tema de input type file en el foro de PHP en Foros del Web. Buenas tengo una pregunta cuando haga un input type file como puedo sacar la variable de la ruta completa. ejemplo: <form action="" method=post> <intput type="file" ...
  #1 (permalink)  
Antiguo 21/05/2009, 13:41
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
input type file

Buenas tengo una pregunta cuando haga un input type file como puedo sacar la variable de la ruta completa.

ejemplo:
<form action="" method=post>
<intput type="file" name="archivo">
<input type="submit" name="submit">
</form>

<?php

echo $_POST['archivo'];
?>

al poner el fichero y aceptar me saldria como resultado el nombre solo del fichero y yo quiero que me muestre la ruta es decir el c:/archivo de programas/...


Gracias de antemano
  #2 (permalink)  
Antiguo 21/05/2009, 13:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: input type file

1- Necesitas declarar enctype="multipart/form-data" en la etiqueta de apertura del form
2- Los archivos se reciben en $_FILES y no en $_POST

Mas info en Manual de PHP para carga de archivos.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 21/05/2009, 14:24
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: input type file

Gracias por responder pero tengo el siguiente problema que me salen vacias solo me funciona el $FILES['']['name'] las demas salen en blanco a que se debe.

<?
$archivo_name= $_FILES['archivo']['name'];
$archivo_size= $_FILES['archivo']['size'];
$archivo_type= $_FILES['archivo']['type'];
$archivo= $_FILES['archivo']['tmp_name'];

echo "Archivo_name-> $archivo_name<br>";
echo "Archivo_size-> $archivo_size<br>";
echo "Archivo_type-> $archivo_type<br>";
echo "Archivo-> $archivo<br>";
?>

Gracias
  #4 (permalink)  
Antiguo 21/05/2009, 15:24
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: input type file

echo $archivo_name;

Cita:
al poner el fichero y aceptar me saldria como resultado el nombre solo del fichero y yo quiero que me muestre la ruta es decir el c:/archivo de programas/...
php es incapaz de mostrar esta ruta pues esta del lado del servidor
el solo se encarga de procesar la informacion que le has mandado por el file
saludines!!
__________________
WHERE IS MY BLUE SUNNY SKY??
pd: todos los karmas son bienvenidos :D
  #5 (permalink)  
Antiguo 21/05/2009, 15:34
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: input type file

harvestmoon, no lei bien esa parte y tienes razon, solo se recibe el nombre del archivo, nunca la ruta; de hecho, con javascript tampoco puedes.

Cita:
Iniciado por Albertome
solo me funciona el $FILES['']['name'] las demas salen en blanco a que se debe
Revisa si $_FILES['archivo']['error'] es diferente de cero. En el manual hay un listado de los posibles errores.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 21/05/2009, 19:28
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: input type file

Albertome:

Cuando subes un archivo al servidor, la ruta esta dada por el php.ini
es decir que el archivo es inicialmente subido al archivo temporal especificado en el php.ini.
Php le da la extension .tmp.
c:/temp/archivo.tmp

Es importante que comprendas que el archivo permanece en el directorio temp
mientras esta corriendo el codigo y se supone que tu codigo con la funcion
move_upload, lo colocaras en el directorio o ruta definitiva.

Si el upload fracasa, php elimina el archivo temporal.

Saludos
Franco
  #7 (permalink)  
Antiguo 23/05/2009, 07:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: input type file

Gracias por responder a todos me a servido de mucha ayuda.
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 12:55.