Foros del Web » Programando para Internet » PHP »

Saber la ruta del archivo

Estas en el tema de Saber la ruta del archivo en el foro de PHP en Foros del Web. Holaa, como andan? bueno, verán que tengo una duda... Se trata de la subida de archivos. Utilizo la funcion, por ejemplo $HTTP_POST_FILES['archivo']['name'] para sacar el ...
  #1 (permalink)  
Antiguo 14/09/2008, 22:12
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Pregunta Saber la ruta del archivo

Holaa, como andan? bueno, verán que tengo una duda...
Se trata de la subida de archivos.
Utilizo la funcion, por ejemplo $HTTP_POST_FILES['archivo']['name'] para sacar el nombre del archivo (entre otros)
Hay una forma de saber la ruta donde sale el archivo en el nivel del cliente?
Gracias
  #2 (permalink)  
Antiguo 14/09/2008, 22:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Saber la ruta del archivo

Hola santuguerra,

Lamentablemente no hay forma de accesar a esa información desde PHP, lo que puedes hacer de cierta forma es copiar el valor del campo con Javascript antes de enviar el formulario y guardarlo en un campo oculto y con eso lo podrías recuperar con PHP.

Saludos.
  #3 (permalink)  
Antiguo 14/09/2008, 22:35
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Saber la ruta del archivo

Cita:
Iniciado por GatorV Ver Mensaje
Hola santuguerra,

Lamentablemente no hay forma de accesar a esa información desde PHP, lo que puedes hacer de cierta forma es copiar el valor del campo con Javascript antes de enviar el formulario y guardarlo en un campo oculto y con eso lo podrías recuperar con PHP.

Saludos.
Mmm.. buena idea... me podrias pasar el nombre de la funcion en javascript? asi busco info a partir de ahi (ya q no tengo tanta idea de javascript)

Gracias de nuevo :)
  #4 (permalink)  
Antiguo 14/09/2008, 22:47
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Saber la ruta del archivo

No creo que sea posible.

Porque al tratar de conseguir el "value" de el campo de archivo solo muestra el nombre de el archivo. No la ruta.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script language="javascript">

	function campoFile() {
		document.getElementById('value').innerHTML = document.formulario.file.value;
	}

</script>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data" name="formulario" id="form1">
  <input type="file" onchange="campoFile();" name="file" />
</form>
<div id="value"></div>
</body>
</html> 
  #5 (permalink)  
Antiguo 14/09/2008, 22:53
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Saber la ruta del archivo

Uh... acabo de probar, y es verdad.. solo sale el nombre del archivo
Bueno, muchas gracias de verdad por el intento... igual sabia de antes que no era posible, pero pregunte por las dudas
En fin.. gracias
  #6 (permalink)  
Antiguo 14/09/2008, 22:53
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Saber la ruta del archivo

Si en ves de OnChange no usas Onclick ?
  #7 (permalink)  
Antiguo 14/09/2008, 22:55
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Saber la ruta del archivo

La ruta la tendrias que saber vos o no? tendras una carpeta suponete:

uploads/archivosubido.extension

con sacar el nombre del archivo ya esta, vas a saber siempre que tu archivo va a estar ahi...dentro de ese DIR, eso creo
  #8 (permalink)  
Antiguo 14/09/2008, 22:58
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Saber la ruta del archivo

Cita:
Iniciado por valenti77 Ver Mensaje
Si en ves de OnChange no usas Onclick ?
Porque entonces tendrias que hacer clic para que salga la ruta luego de seleccionar el archivo. Y eso abriria la ventana apra seleccionar el archivo nuevamente.

onChange es perfecto.
  #9 (permalink)  
Antiguo 14/09/2008, 23:02
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Saber la ruta del archivo

ahhh perdon perdon entendi mal, pense que era un boton de tipo SUBMIT, entocnes asocie que una vez que el usuario decide subir ese archivo, ahi si extraiga el nombre del archivo....por eso no entendia el Onchange, a estas horas... jaja

Saludos!
  #10 (permalink)  
Antiguo 14/09/2008, 23:03
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Saber la ruta del archivo

PD:

Al parecer en IE7 si muestra la ruta completa de el archivo pero en Firefox 3.0 no.

EDIT: Tambien muestra la ruta en Chrome.
  #11 (permalink)  
Antiguo 14/09/2008, 23:05
Avatar de valenti77  
Fecha de Ingreso: julio-2008
Ubicación: Berisso, Buenos Aires
Mensajes: 244
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Saber la ruta del archivo

Vos lo que necesitas es un sistema tipo rapidshare no? que tire el link de descarga ?

Por ahi te sirve Algo Asi, yo trato de ayudarte, no la trengo muy clara, si te molesto decime,

saludos!
  #12 (permalink)  
Antiguo 14/09/2008, 23:10
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Saber la ruta del archivo

No valenti, lo que yo necesito es poner la ruta con el archivo dentro de type='file' dentro de un formulario, porque si cuando validas por ejemplo el titulo y esta mal, tiende a repetir la pagina, y tiene que repetir en cada campo para no tener que volver a hacer todo de nuevo, y ahi es cuando queres subir la imagen, no vas a tener que buscar otra vez la imagen...
pero usando la busqueda, me entere que el value no esta habilitado para 'file' por temas de seguridad...
  #13 (permalink)  
Antiguo 14/09/2008, 23:15
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Saber la ruta del archivo

:P Si, pero al parecer el IE7 y el Chrome se saltan ese tema de seguridad.

Puedes usar el codigo que te puse ahi arriba y si quieres cambiarlo para pasar ese valor por un campo oculto.
El problema seria cuando los usuarios esten en Firefox. Entonces si tendrian que buscar el archivo de nuevo.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script language="javascript">

	function campoFile() {
		document.formulario.ruta.value = document.formulario.file.value;
	}

</script>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data" name="formulario" id="form1">
  <input type="file" onChange="campoFile();" name="file" />
  <input type="hidden" name="ruta" value="" />
</form>
</body>
</html> 
Ya con un IF confirmas si el valor esta, si esta pues le haces un echo y ya.
  #14 (permalink)  
Antiguo 14/09/2008, 23:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Saber la ruta del archivo

Lamentablemente en todos los exploradores no puedes settear el value, imagínate que hicieran una función para poner la ruta a un archivo protegido y luego luego el submit el usuario no se daría cuenta.

Este comportamiento es común entre todos los exploradores, los campos del tipo file es "read only".

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.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:30.