Afficher seulement des images dans un dossier avec php5

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 : Afficher seulement des images dans un dossier avec php5

par AB » 13 août 2008, 04:29

Si $fres ne te retourne rien sur un fichier existant c'est que l'extension PECL n'est pas installée sur ton serveur.
Si tu ne peux pas l'installer il faudra utiliser mime_content_type() ou tester l'extension avec un bout de code (ex: $Ext = strtolower(strrchr(basename($fichier),'.')); pas fiable si ce ne sont pas des personnes de confiance qui postent des images sur ton serveur) ou encore utiliser la fonction getimagesize().

par EricDesMontagnes » 12 août 2008, 20:13

Si justement y'a un soucis :'( j'arrive pas à tester le type mime du fichier

par Ryle » 12 août 2008, 10:15

Y a pas un p'tit soucis avec ton $ftype ? tu le définis d'abord comme étant égal à 'image/jpeg' et ensuite tu l'écrase avec ce qui est je suppose le type mime du fichier... (en gros il ne sert à rien).

La première question à te poser c'est comment faire pour savoir si un fichier est une image ou non ? Le plus simple est en effet de tester le type mime ou l'extension. Il te faut alors définir une liste de valeur autorisées (soit uniquement du jpg, soit également des gif, png, ...), les comparer au fichier que tu traites et en fonction du résultat, afficher ou non celui-ci :)

par AB » 12 août 2008, 04:25

$fres te retourne quoi ?

Afficher seulement des images dans un dossier avec php5

par EricDesMontagnes » 11 août 2008, 20:51

Bonjour, je suis en train de faire un petit script php5 pour afficher des images dans un dossier :
<?php
$ftype = 'image/jpeg'; 
$dir = new DirectoryIterator("pics/ascr/");
foreach ($dir as $file) {
   if ($file->isDot()) {
       continue;}
	$finfo = new finfo(FILEINFO_MIME);
	$fres = $finfo->file($file); 
	if (is_string($fres) && !empty($fres)) { 
   $ftype = $fres;
 print $file->getFilename();
}
}
?>
En fait ce qui pose problème c'est le test pour savoir si c'est bien une image. Vous n'auriez pas une idée ?