No es necesario explorar el directorio.
También puedes hacerlo así:
Con un formulario, podrías subir el archivo (o esta parte cambiarla por subir el archivo por FTP) y que se cree una entrada en la base de datos, en una tabla tipo:
ID || link
---------------
1
http://www.web.com/carpeta/nombre_archivo.pdf
2 /carpeta/nombre_archivo.pdf
3 nombre_archivo.pdf
(El link lo pones como quieras, te he puesto los tres ejemplos, según dónde esté situado el archivo)
Y a partir de aquí supongo que ya sabes cómo mostrar las entradas de la tabla. Sería así como:
Código PHP:
while ($row = mysql_fetch_array($query)) {
echo "<a href='".$row['link']."'>Descarga el archivo ".$row['id']."</a>";
echo "<br />";
}
Espero que hayas entendido mi idea. Suerte