Robert B.: Grafik einblenden

Beitrag lesen

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