Affichier gif en fonction de l'extension ?? [Résolu]

Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
- - Dernière réponse : xzonz
Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
- 4 mai 2007 à 15:18
Salut à toutes et tous ...
une ptite

j'ai un script qui affiche le contenu d'un repertoire
si c'est un dossier ... icone dossier
si c'est un fichier ...

j'aimerais maintenant ajouter des gifs et afficher les extensions les
plus communes gif  jpeg ... etc

j'ai deja la fonction qui permet de recuperer l'extension

mais il doit y avoir mieux que de tester cette extension dans la boucle d'affichage

voici le bout de code pour l'affichage
pourriez vous me donner un exemple car je ne connait vraiment pas la meilleure maniere
de parvenir a ce que je veux !!

merci d'avance

Franck

------------------------------------------------------------------------------------
 while ($sortie_de_la_boucle==false)
{



 // Récupère les entrées contenu dans le repertoire une par une
 // -----------------------------------------------------------
 $entree=readdir($handle_du_repertoire_ouvert); // Readdir lit le fichier suivant dans un dossier





 // Condition de sortie de la boucle
 // --------------------------------
 if ($entree=="")
 $sortie_de_la_boucle=true;
 else



 // Affichage
 // ---------
 if (($entree!="."))



 //if (is_dir($entree)!=1) // N'afiche pas les répertoires
 //if (($entree!="index.php")&&($entree!=".htaccess")&&($entree!=".htpasswd")) // N'affiche pas les fichiers selectionnés
 
 if (is_dir($entree)) //affichage repertoire
    {
    echo " http://www....../fichiers.gif
align=absbottom> ".$entree."
";
       }
   }
}
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
3
Merci
Salut,

Pour lire le contenu du répertoire, préfère cette syntaxe :
while (false !($file readdir($handle))) {
echo "$file\n";
}
C'est pas moi qui le dis, c'est la doc de php : http://ch2.php.net/manual/fr/function.readdir.php

Sinon :
if (($entree!="index.php")&&($entree!=".htaccess")&&($entree!=".htpasswd"))

Je pense qu'il est possible de faire mieux, avec par exemple un tableau contenant les fichiers à ne pas afficher :
$no_display = array('index.php', '.htaccess', '.htpasswd');
if (!in_array($file, $no_display))

Sinon, je ne vois pas d'autre solution que de tester l'extension et d'afficher telle ou telle image avec une série de if() elseif() elseif() else();
Attention, elseif et else if, ce n'est pas pareil...

ereg("\.([^\.]*$)", $fichier, $elts);
echo $elts[1];

Source : http://www.phpinfo.net/page/archives/regex/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de neigedhiver
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
13
3
Merci
// On affiche le fichier si son affichage est autorisé.
if (is_file($entree) && !in_array($entree, $no_display))
{
//On récupère l'extension
ereg("\.([^\.]*$)", $fichier, $elts);
$ext = $elts[1];

// On définit l'icone en fonction de l'extension
$icone = $ext . 'png';
echo ' ['.$chemin.$entree.' '.$entree.']
';
}

Préfère les simples quotes, c'est plus propre. Par contre, pour le code html, les double quotes, c'est obligatoire.

Il faudrait rajouter un test sur l'existence du fichier de l'icone, si inexistante, afficher une icone par défaut.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de neigedhiver
Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
0
Merci
merci pour les conseils

j'ai appliqué !!

en revanche quand je teste l'extension dans la boucle d'affichage
ca ne fonctionne pas ... il affiche la meme icone sur tous les fichiers
et ne tiens pas compte du test if esleif else ...

aurais tu un exemple de syntaxe  qui puisse s'integrer dans mon code car la  ...
je dois louper quelque chose ... j'ai essayé plein de trucs mais visiblement ca va pas

au secour please

merci !!

Franck
Commenter la réponse de xzonz
Messages postés
105
Date d'inscription
mardi 13 janvier 2004
Statut
Membre
Dernière intervention
18 mai 2019
0
Merci
ok j'ai fait ça !!

ca marche impec

merci beaucoup !

ps: y'a plus qu'a rajouter le test si inexistant

mais ca je devrais y arriver

merci encore
Bye

Franck
Commenter la réponse de xzonz