Foros del Web » Programando para Internet » PHP »

script para visualizar archivos de directorio y forzar descargas

Estas en el tema de script para visualizar archivos de directorio y forzar descargas en el foro de PHP en Foros del Web. Hola a todos: Antes de escribir he buscado bastante por internet sin conseguir resultados. Tengo este script que $dir="archivos"; //Especifica el directorio a leer $rep=opendir($dir); ...
  #1 (permalink)  
Antiguo 17/10/2013, 05:15
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
script para visualizar archivos de directorio y forzar descargas

Hola a todos:
Antes de escribir he buscado bastante por internet sin conseguir resultados.

Tengo este script que

$dir="archivos"; //Especifica el directorio a leer
$rep=opendir($dir); //Abrimos el directorio


while ($arc = readdir($rep)) { //Leemos el arreglo de archivos contenidos en el directorio: readdir recibe como parametro el directorio abierto
if($arc != '..' && $arc !='.' && $arc !=''){
//$arc Contiene el nombre del archivo contenido dentro del directorio
echo "<a href=".$dir."/".$arc." target='_blank'>".$arc."</a><br />"; //Imprimimos el nombre del archivo con un link
}
}


hasta aqui es facil, lo que ocurre es que no se como hacer para que al clicar un enlace se descarge el archivo en cuestion y no se abra.

He visto este script que, para un archivo dado genera la descarga pero no se como integrarlo:

<?php

$id = "archivo.doc";
$enlace = $path_a_tu_doc."/".$id;
header ("Content-Disposition: attachment; filename=".$id."

");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);

?>

Agradeceria si alguien me pudiese ayudar, supongo que ya habra una solucion pero he buscado mucho y no consigo saberlo.
Josan
  #2 (permalink)  
Antiguo 17/10/2013, 05:48
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: script para visualizar archivos de directorio y forzar descargas

Hola a todos:
Me ha salido bien, lo adjunto por si a alguien le puede interesar:

$dir = "archivos"; //Especifica el directorio a leer




$rep = opendir($dir); //Abrimos el directorio





while ($arc = readdir($rep)) { //Leemos el arreglo de archivos contenidos en el directorio: readdir recibe como parametro el directorio abierto
if($arc != '..' && $arc !='.' && $arc !=''){
//$arc Contiene el nombre del archivo contenido dentro del directorio
echo '<a href="index.php?valor='.$dir."/".$arc.'">'.$arc.'</a>';
echo "<br>";
//Imprimimos el nombre del archivo con un link
}
}

if (isset($_GET['valor'])){
$enlace =$_GET['valor'];

$id=explode("/","$enlace");
$idmodificado=$id[1];
header ("Content-Disposition: attachment; filename=".$idmodificado."

");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
}
?>

Etiquetas: descargas, directorio
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 17:23.