Hola no estoy en mi pc, pero seguramente este código te sirva.
Obtiene los nombres de los archivos de un directorio, y si no son un directorio sino un archivo, te crea el link a href, eso puedes cambiarlo por un boton que funcione onClick o lo que tu desees.
Lo modifique un poco para que haga eso, pero no pude probarlo no estoy en mi pc.
<?php
$directorio = opendir("/ruta/de_los_archivos/");
while ($archivo = readdir($directorio)) //obtenemos un archivo y luego otro sucesivamente
{
if (is_dir($archivo))//verificamos si es o no un directorio
{
//Si es un directorio no hacemos nada
}
else
{
echo "<a href='" . $directorio . $archivo . "'>" . $directorio . $archivo . </a>";
}
}
?>
PD: Como te dicen también puedes darle permisos a la carpeta y acceder con el navegador.
Si tienes diferencias entre la ruta absoluta y la virtual del server (la que aparecería en la web), solo hardcodea la ruta en el href.
echo "<a href='/RutaVirtual/" . $archivo . "'>" $archivo . </a>";
Saludos,