[RESOLU] Afficher les images d'un dossier.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher les images d'un dossier.

Re: [RESOLU] Afficher les images d'un dossier.

par moogli » 10 août 2013, 23:33

tu peux éviter les opendir / closedir avec la fonction glob elle te permettra aussi de filtrer directement sur les extensions.

tu ne devrais pas te fier aux extensions, sauf si tu ce n'est que toi qui upload les fichiers sinon utilise le type mime ;)

@+

Re: Afficher les images d'un dossier.

par timotebx » 10 août 2013, 22:50

Merci j'ai trouvé. Voici mon code pour ceux que ça intéresse :
			 <?php
$dirname = "./fichiers/$pseudo";
$dir = opendir($dirname); 

while($file = readdir($dir)) {
	if($file != '.' && $file != '..' && !is_dir($dirname.$file))
	{
		$extension=strrchr($dirname.$file,'.');
		$extension=substr($extension,1) ;
	if(in_array($extension,array('jpg','png','jpeg','gif')))
		{
		echo '<a href="'.$dirname.$file.'"><img src='.$dirname.'/'.$file.' width="100" height="100" border="2"></a>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp;';
	}
}
}

closedir($dir);
 ?>

Re: Afficher les images d'un dossier.

par moogli » 10 août 2013, 20:18

salut,


Tu peux filtrer sur l'extension (en récupérant ce qui est après le dernier point et en vérifiant que cela correspond à une extension voulue).
Tu peux aussi utiliser le type mime pour un poil plus de "sécurité" avec mime_content_type (obsolète) ou fileinfo si installée ;)


@+

Afficher les images d'un dossier.

par timotebx » 10 août 2013, 19:23

Bonjour, j'utilise ce script pour lister les images d'un dossier,
<?php
$dirname = "./fichiers/$pseudo";
$dir = opendir($dirname); 

while($file = readdir($dir)) {
	if($file != '.' && $file != '..' && !is_dir($dirname.$file))
	{
		echo '<a href="'.$dirname.$file.'"><img src='.$dirname.'/'.$file.' width="100" height="100" border="2"></a>';
		echo '&nbsp;&nbsp;&nbsp;&nbsp;';
	}
}

closedir($dir);
 ?>
mais le problème c'est qu'il me liste tous les fichiers. Comment puis-je faire pour qu'il ne me liste que les images ?
Merci.