Foros del Web » Programando para Internet » PHP »

Cómo capturar la dirección que devuelve un input tipo file

Estas en el tema de Cómo capturar la dirección que devuelve un input tipo file en el foro de PHP en Foros del Web. Hola a todos nuevamente, quisiera hacerles una pregunta elemental, muy sencilla que no he visto respuesta en el foro (no encontre con el search). Mi ...
  #1 (permalink)  
Antiguo 22/01/2008, 14:31
 
Fecha de Ingreso: enero-2008
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Cómo capturar la dirección que devuelve un input tipo file

Hola a todos nuevamente, quisiera hacerles una pregunta elemental, muy sencilla que no he visto respuesta en el foro (no encontre con el search). Mi problema es que tengo un formulario en el que debo importar datos de un excel (por medio de su extención csv) y pasarla a una base de datos mysql, bueno, esto ya lo hice con la siguiente consulta:

mysql_query("LOAD DATA LOCAL INFILE 'C:/FoxServ/www/progconta/archivo_csv.xls' INTO TABLE probando FIELDS TERMINATED BY ','");

Como verán puse la dirección fija, lo que quiero hacer es que en lugar de "'C:/FoxServ/www/progconta/archivo_csv.xls'" pueda poner la dirección que selecciono gracias a un input de tipo file:

<input type="file" name="bt_examinar" value="ExaminarA">

Bien ahora aquí viene mi pregunta simple:

Cómo capturo en una variable la dirección que me está dando el input de tipo file, encontré en esta misma web una forma pero no me da mayor detalle:

mysql_query("LOAD DATA LOCAL INFILE '".$_FILES['archivo']['name']."' INTO TABLE probando FIELDS TERMINATED BY ','");

Pero qué pongo en lugar de 'archivo' y qué en lugar de 'name'

la idea es que me quede algo así en el código

$variable= (aquí la dirección rescatada del input tipo file)
mysql_query("LOAD DATA LOCAL INFILE '".$variable."' INTO TABLE probando FIELDS TERMINATED BY ','");

Estaría muy agradecida si me pueden ayudar en eso.

Saludos.
  #2 (permalink)  
Antiguo 22/01/2008, 14:39
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Cómo capturar la dirección que devuelve un input tipo file

En lugar de archivo pones el nombre del campo en el form, en tu caso bt_examinar.

En lugar de name pones tmp_name, eso te da la url al archivo temporal creado en el servidor.

Saludos
Andres
  #3 (permalink)  
Antiguo 22/01/2008, 14:56
 
Fecha de Ingreso: enero-2008
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Cómo capturar la dirección que devuelve un input tipo file

hola andruqui, gracias por responder tan rápido, mira he puesto esto y me devuelve lo siguiente: C:\WINDOWS\TEMP\phpB.tmp, pero necesito la dirección física en donde está el archivo que he seleccionado, este puede estar en d o simplemente en el escritorio, si fuese el último caso necesito que me devuleva lo siguiente: C:\Documents and Settings\Administrador\archivo_csv.xls, no la carpeta temporal.
  #4 (permalink)  
Antiguo 22/01/2008, 15:05
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
Re: Cómo capturar la dirección que devuelve un input tipo file

Si quieres la ruta física del ordenador del cliente, vas a tener que cambiar el formulario a un formulario normal, y en lugar de usar $_FILES usar $_POST para sacar la ruta completa al archivo.

Saludos.
  #5 (permalink)  
Antiguo 22/01/2008, 15:12
 
Fecha de Ingreso: enero-2008
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Cómo capturar la dirección que devuelve un input tipo file

Muchas gracias a ambos, ya pude solucionar mi problema con la propuesta de GatorV.

Saludos, cualquier cosa etaré escribiendo, espero me respondan

Hasta pronto.
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 22:52.