Mostrare immagini in PHP

Voglio mostrare le immagini che risiedono in una directory in PHP Il codice che ho scritto è stato

<?php $dir = opendir("upload"); while (($file = readdir($dir)) !== false) { echo "filename: " . $file . "<br />"; echo "<a href='shoe.php?image_name=".$file."'> <img src='upload/".$file[0]."' width='150' height='150' /></a></td>"; } closedir($dir); ?> 

Qui le immagini non sono visualizzate. Solo un'image per quell'image e l'image reale non viene visualizzata al suo interno. Dove ho sbagliato? Qualcuno può aiutare, per favore…

Sostituisci $file[0] con $file , dato che $file non è una matrix e restituirà solo il primo carattere della string.

PHP Glob rende molto più facile elencare le directory. Puoi fare qualcosa del genere

 $image = glob("*.jpg") foreach ($image as $filename) { echo "$filename size " . filesize($filename) . "\n"; } 

perchè $ file [0] ??? $ file è corretto:

 <?php $dir = opendir("upload"); while (($file = readdir($dir)) !== false) { echo "filename: " . $file . "<br />"; echo "<a href='shoe.php?image_name=".$file."'> <img src='upload/".$file."' width='150' height='150' /></a>"; } closedir($dir); ?>