2017-08-24 3 views
2

Je veux afficher mes images sous forme de tableau. Voici mon code:Afficher les images du dossier dans une table en utilisant php, html?

<?php 
$files = glob("images/*.*"); 
for ($i = 0; $i < count($files); $i++) { 
    $image = $files[$i]; 
    $supported_file = array(
     'gif', 
     'jpg', 
     'jpeg', 
     'png' 
    ); 

    $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION)); 
    if (in_array($ext, $supported_file)) { 
     echo basename($image); 
echo '<img src="' . $image . '" alt="Random image" ,width=100px, height=100px /><br>'; 
} else { 
continue; 
} 
} 
?> 

enter image description here

Quelque chose comme cette image.

+0

simplement créer le balisage de table, '

' et '' et '
' – Ghost

+0

L'utilisation d'un' for'loop pour itérer sur les images est une approche valide, mais vous avez oublié d'ajouter la structure de la table à votre sortie. Sans cela, aucune table ne sera rendue par le navigateur. Je vous suggère de lire quelques lignes sur la façon dont une table est définie dans le balisage html. Vous définissez la table en utilisant les éléments de la table (lignes et cellules), à l'intérieur des cellules, vous produisez ensuite l'image comme vous le faites déjà. – arkascha

+0

Quelle est votre sortie réelle? Peut-être une autre erreur dans votre pensée est que PHP utilise les chemins de fichiers des systèmes de fichiers (chemins absolus) alors que HTML utilise des chemins relatifs à la racine du document. Vous devez donc convertir le chemin d'accès PHP en chemin avec lequel HTML peut fonctionner. –

Répondre

1

Si vous le souhaitez dans le tableau l'ajouter simplement étiquette de table avec et il

<table> 
<tr> 
    <th>Image Name</th> 
    <th>Image</th> 
</tr> 
<?php 
$files = glob("images/*.*"); 
for ($i = 0; $i < count($files); $i++) { 
    $image = $files[$i]; 
    $supported_file = array(
     'gif', 
     'jpg', 
     'jpeg', 
     'png' 
    ); 

    $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION)); 
    if (in_array($ext, $supported_file)) { 
     echo "<tr><td>"; 
     echo basename($image); 
     echo "</td><td>"; 
     echo '<img src="' . $image . '" alt="Random image" ,width=100px, height=100px /><br>'; 
     echo "</td></tr>"; 
} else { 
continue; 
} 
} 
?> 
</table> 
+0

Merci pour votre réponse. Aide-moi beaucoup. :) –

3

Changez votre code html à partir de:

echo '<img src="' . $image . '" alt="Random image" ,width=100px, height=100px /><br>';

à

echo "<table border='1'>"; 
    echo "<tr><td>"; 
    echo basename($image); 
    echo "</td><td>"; 
    echo '<img src="' . $image . '" alt="Random image" ,width=100px, height=100px />'; 
    echo "</td></tr>"; 
    echo "</table>"; 
+0

Merci pour votre réponse. Aide-moi beaucoup. :) –