> Faqs > Crear links para descarga de los archivos que se encuentran en un directorio del servidor

Crear links para descarga de los archivos que se encuentran en un directorio del servidor

Hola amigos. Es la primera vez que escribo y es porque tengo un problema.

buscando una solucion, he dado en esta misma web con el siguiente script para gestion de directorios:

<?php
//definimos el path de acceso 
$path = "expedientes/disenos/"; 
//abrimos el directorio 
$dir = opendir($path); 
//Mostramos las informaciones 
while ($elemento = readdir($dir)) { 
  echo $elemento."  "; 
} 
//Cerramos el directorio 
closedir($dir); 
?> 

Lo he probado y funciona, pero lo que me interesaris es que los documentos , imagenes, planos , etc. que contiene esa carpeta de directorio, sean links para poder abrir o descargar dichos archivos.

¿es posible hacer esto?. En mi base de datos tengo 5 grupos de documentos y en los campos introduzco el nombre del documento. luego, por medio de un form php, el usuario introduce su nº de expediente enviado previamente por email, lo valida y accede a la pagina de documentacion de ese expediente.

Hasta ahi lo tengo bien, pero cuando le paso por URL el parametro, me muestra el contenido de la carpera pero no en forma de link sino en forma de texto plano.

estoy hecho un lio y llevo ya tres dias peleando con este tema. ayudenme por favor. soy principiante en esto. Gracias.

Respuestas

Supongo que lo que quieres es hacer algo así:

while ($elemento = readdir($dir)) { 
  echo "<a href=\"$elemento\">$elemento</a>"; 
} 
Miguel Angel
3073 138 204 16

Hola amigos: Despues de darle muchas vueltas a la cabeza, consegui solo a medias lo que pretendia que era crear links en los contenidos de los directorios.

Lo he hecho asi como sigue:

<a href="expedientes/disenos/"><?php echo $row_carpeta["boceto1"]; ?></a>

De esta manera consigo el link pero al verlo en internet, al hacer clic en el enlace, me aparece el gestor de directorios de apache desde donde se puede ir de directorio en directorio y precisamente esto ultimo es lo que no desearia. ¿alguno de vosotros sabe como evitarlo? Gracias de antemano.

Te sale el listado de directorio porque estás apuntando con el href a una carpeta y no a un archivo. Si en la carpeta no tienes un documento por defecto (generalmente un index.php) el servidor te muestra el listado de archivos que hay dentro. De todos modos, dependiendo de la configuración del servidor te saldrá el listado de archivos de la carpeta o a veces un error 404 porque puede estar configurado para no mostrar nunca listados de carpetas y archivos de los directorios.