Noja, die Dateien liegen ja in einem Unterverzeichnis, also müsstest du natürlich auch dieses Unterverzeichnis in den Link mit einbauen 
So geht es bei mir, die Änderungen habe ich mal mit Kommentaren versehen
PHP-Code:
<?php
$buchstabe_alt = "";
// #### Neue Variable verzeichnisName
$verzeichnisName = 'testordner';
$verzeichnis = openDir($verzeichnisName);
while ($file = readDir($verzeichnis)) {
if ($file != "." && $file != "..") {
$buchstabe = strtoUpper(substr($file, 0, 1));
if (!strstr($buchstabe_alt, $buchstabe)) {
$buchstabe_alt .= $buchstabe;
// Anfangsbuchstaben anzeigen
echo "<strong>" . $buchstabe . "</strong> <br>";
}
// ####### Verzeichnisnamen mit in den Link übernehmen
echo "<a href=\"$verzeichnisName/$file\">$file</a><br>\n";
}
}
closeDir($verzeichnis);
?>