Foros del Web » Programando para Internet » PHP »

path de archivo en campo file

Estas en el tema de path de archivo en campo file en el foro de PHP en Foros del Web. Puede que la pregunta resulte algo tonta, pero como soy nuevo en php (vengo de asp) ahi va: ¿como recoger el path de un archivo ...
  #1 (permalink)  
Antiguo 06/09/2003, 04:59
 
Fecha de Ingreso: julio-2003
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
path de archivo en campo file

Puede que la pregunta resulte algo tonta, pero como soy nuevo en php (vengo de asp) ahi va: ¿como recoger el path de un archivo enviado mediante un campo file de un formulario?

GRACIAS
  #2 (permalink)  
Antiguo 06/09/2003, 05:47
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
No estoy seguro pero el array $_FILES[][] no da el path

esta es la explicacion que da http://www.programacion.com/php/articulo/datos_blob/
sobre el array files

$_FILES['archivito']['name']
Es el nombre original del archivo.

$_FILES['archivito']['type']
El tipo MIME del archivo,.. image/gif, application/pdf, application/msword,.. etc

$_FILES['archivito']['size']
El tamaño del archivo en bytes.
$_FILES['archivito']['tmp_name']

La ubicación del archivo temporal que se crea cuando se sube un archivo al servidor. Es en esta variable de donde se leen los datos del archivo en sí. Si estos datos no son copiados o movidos a otro lugar, o en nuestro caso, almacenados en una base de datos, se pueden perder, ya que PHP elimina este archivo después de un determinado tiempo.


El path lo tienes de conocer tu , aparte para guardarlo lo tiens de poner como este ejemplo

$uploaddir = '/ruta/directorio/uploads/';

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']
['name'])

Anuque puedes conocer el path de la carpeta publica con esta
variable

$dir_htms = $HTTP_SERVER_VARS['DOCUMENT_ROOT'];

espero que te sirva

un saludo
  #3 (permalink)  
Antiguo 06/09/2003, 06:01
 
Fecha de Ingreso: julio-2003
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Mmmmm... la cosa es poder mostrar en el navegador una imagen del usuario antes de subirla al server (y no despues). No obstante, por lo que he podido leer por ahi no es posible recuperar el path, ya que esto revelaria informacion sobre el sistema de archivos del usuario y se podria hacer un uso malintencionado. Por favor, si alguien cree que esto no es cierto que me corrija y al ser posible, que me de una solucion.
  #4 (permalink)  
Antiguo 06/09/2003, 06:07
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
Ah ya comprendo,
precisamente si se trata de una imagen tienes un post en estas paginas que relaciona esto,

miro si lo encuentro y te lo paso
  #5 (permalink)  
Antiguo 06/09/2003, 06:09
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
en esta URl tiens un post que trata de que el ususario vea
la imagen que va a subir, antes del upload,
miralo a ver si te sirve

http://www.forosdelweb.com/s/msg151761.html
  #6 (permalink)  
Antiguo 06/09/2003, 06:20
 
Fecha de Ingreso: julio-2003
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
jejeje, ese hilo es mio. El problema es como recoger el path del usuario. Es decir: Un usuario quiere subir la imagen gatito.jpg que esta en: c:\imagenes\gatito.jpg . ¿Como conseguir esa direccion? Por lo que veo, el path (c:\imagenes) esta oculto y no se puede recuperar, solo el nombre del archivo (gatito.jpg).
  #7 (permalink)  
Antiguo 06/09/2003, 06:54
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
Bueno si el escribe el path en una caja de texto, la puedes recibir
por una variable $_POST[];

Imagino que el sistema de archivos del usuario estara protegido
para que no lo pueda recuperar nadie , si no imaginate, los webmastres podriamos saber toda la estructura de archivos del
usuario.
  #8 (permalink)  
Antiguo 06/09/2003, 14:17
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Pues yo utlizo javascript para paserte ese path a php...
Lo que hago es asignarle a un campo oculto la cadena que aparece en el campo file, entonces por un lado tengo el archivo en si (que lo recupero con las variables de php $_FILES[]) y por otro una cadena con el path:
Código:
<html>
<head>
<script LANGUAGE="JavaScript">
function oculto() {
document.upform.ruta.value = document.upform.uploadfile.value;
}
</script>
</head>

<body>
<p>Selecciona el archivo.</p>
<form method="post" name="upform" action="index.php" enctype="multipart/form-data" onSubmit="return oculto()">
  <p> 
    <input type="file" name="uploadfile">
    <input type="hidden" name="ruta" value="">
    <br>
    <input type="submit" value="Enviar">
  </p>
</form>
</body>
</html>
Ahora tienes una variable $_POST['ruta'] con lo que necesitas.

Saludos!
  #9 (permalink)  
Antiguo 06/09/2003, 14:46
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
lo que no entiendo y perdonadme es porque se necesita saber
la ruta del archivo que ha subido el cliente, igualmente no se le
puede descargar, y el lo puede borrar en cualquier momento?

me gustaria saberlo

un saludo
  #10 (permalink)  
Antiguo 06/09/2003, 17:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A veces Jordi1 .. no se hacen aplicaciones que corren para la "web" caso es .. "Intranets" .. donde la ubicación de archivos en la Red en cuestión es crucial para organizar archivos o crear "buscadores" a traves de tus aplicacioens basadas en PHP y algún motor de BD ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 07/09/2003, 08:52
 
Fecha de Ingreso: julio-2003
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Bueno, si os intriga el uso de esto os lo explico. El caso es que estoy haciendo un script para subir imagenes al servidor y el caso es que estas imagenes estan pensadas que ocupen bastante (600k en adelante). Entonces seria una p utada que el usuario subiera directamente su imagen y al mostrarla el servidor, viera que se ha equivocado de imagen (algo tipico con los nombres que dan las camaras digitales del tipo image_0001.jpg). Es por eso que me interesaria que antes de subirla se pudiera ver con una url relativa a su pc (solo interesa que lo vea el).

Probare el codigo de fran, pues puede ser interesante.
  #12 (permalink)  
Antiguo 07/09/2003, 09:17
 
Fecha de Ingreso: julio-2003
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
El codigo javascript funciona a la perfeccion, muchas gracias. Sin embargo, tengo un nuevo problema: Si en el nombre del archivo o el path hay un espacio (c:\mis documentos\ por ej.) El script recupera (c:\mis) es decir solo hasta el espacio. ¿Sabeis como solucionarlo?

GRACIAS
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:38.