Hallo @Meowsalot,
dieser Code kann doch gar nicht funkionieren, denn
<?php if($Dokumente > 0) { foreach($Dokumente as $array){ ?> <a href="/upload/dokumente/<?php echo htmlspecialchars($array['datei']) ?>" target="_blank"> <?php echo htmlspecialchars($array['datei']) ?></a><br> ?php }} ?>
hier in der letzten Zeile fehlt eine spitze Klammer, <?php
statt ?php
.
Unabhängig davon: Du kannst das Ergebnis von htmlspecialchars in einer Variablen speichern und brauchst die Funktion nicht doppelt aufzurufen. Zudem habe ich deine Liste als solche ausgezeichnet:
<ul>
<?php
foreach($Dokumente as $array){
$name = htmlspecialchars($array['datei']);
?><li><a href="/upload/dokumente/<?= $name ?>"><?= $name ?></a></li><?php
}
?>
</ul>
Mit dem Tipp von Regina kannst du auch „typisierte Links“ erzeugen:
<ul>
<?php
foreach($Dokumente as $array){
$name = htmlspecialchars($array['datei']);
$finfo = new finfo(FILEINFO_MIME);
$mime = htmlspecialchars($finfo->file($file));
?><li><a href="/upload/dokumente/<?= $name ?>" type="<?= $mime ?>"><?= $name ?></a></li><?php
}
?>
</ul>
Anstatt der Dateiendung (IMHO kein gutes Kriterium um den Inhalt zu kennzeichnen) kannst du den MIME-Type für die Icons heranziehen.
Viele Grüße
Robert