xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022
-
2 mai 2007 à 21:54
xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022
-
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
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 2 mai 2007 à 22:37
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...
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 3 mai 2007 à 07:00
// 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.
xzonz
Messages postés107Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention23 novembre 2022 3 mai 2007 à 01:40
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