Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/07/2014, 06:04
juanelo_tu
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Abrir fichero local

Gracias kaninox.

Yo tenía un problema similar sobre sistema linux. Comentar que la carpeta/fichero a la que intentaba acceder está fuera de la carpeta localhost.

Al principio y como a quién iniciaba este hilo, el enlace no funcionaba porque hacías clic en éste y no ocurría nada y llegué a pensar que era un problema de permisos (se supone que se intenta acceder con el usuario que ejecuta PHP) pero no he conseguido nada añadiendo al grupo donde está la carpeta con el fichero, al que supongo que sería el usuario que usa el servidor.

Al final he optado por probar tu solución que me ha funcionado de forma correcta, aunque luego he cambiado el fichero descargar para que en lugar de descargar el fichero (no es lógico volver a guardar un fichero que ya está en el mismo equipo) para que en lugar de descargar el fichero sólo permita abrirlo. El contenido de este nuevo fichero "descargar.php" es el siguiente:
Código php:
Ver original
  1. <?php
  2.       $ruta = "$_GET[ruta]";    
  3.       header('Content-type: application/pdf');
  4.       readfile($ruta);
  5.      ?>

Cita:
Iniciado por kaninox Ver Mensaje
me podrias mostrar tu codigo, de hecho el href="" creo que no lestas pasando un nombre de archivo, si no lo deseas puedes ponerle cualquier nombre como archivo.extension

Código php:
Ver original
  1. <?php
  2.       $ruta = "$_GET[ruta]";
  3.       $nombre="archivo.pdf";
  4.       header ("Content-Disposition: attachment; filename=$nombre");
  5.       header("Content-Type: application/force-download");
  6.       readfile($ruta);
  7.       ?>

y tu href deberia ser mas menos

Código html:
Ver original
  1. <a href="descarga.php?ruta=file:///Z:/carpeta/archivo.pdf">Descarga tu Archivo Aqu&iacute;</a>

si no esque algo pasa y lo chequeo cuando tenga un tiempo en la red donde trabajo saludos...