Listage d'un dossier par ordre croissant [Résolu]

Signaler
Messages postés
365
Date d'inscription
samedi 26 juin 2004
Statut
Membre
Dernière intervention
17 avril 2008
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour, alors j'aimerais lister un dossier contenant des .gif nommé en
001.gif, 002.gif, 003.gif ... et les lister par order croissant :



echo "<select onchange=showimage() name=user_avatar><option value='001g.gif'>001g.gif</option>";

$repertoire ="./icons/avatar/";

$rp = opendir($repertoire);

while ($entree = readdir($rp))

{

echo "<option value=$entree>$entree</option>";

}

closedir($rp);

echo "</select>";



je suis sur que c'est possible de les lister par ordre croissant mais malheureusement je ne sais pas faire.

Des idées ??

merci d'avance.
_Marikou

5 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
faut mettre les fichiers dans un tableau et ensuite trier le tableau


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Messages postés
365
Date d'inscription
samedi 26 juin 2004
Statut
Membre
Dernière intervention
17 avril 2008

merci coucou747 pour l'idée

mais je crois que je vais tenter le scandir =) merci malalam c'est exactement ce qu'il me fallait.

_Marikou
Messages postés
365
Date d'inscription
samedi 26 juin 2004
Statut
Membre
Dernière intervention
17 avril 2008

bon j'ai essayé scandir j'ai eu un undefine function scandir alors jme suis scripté un truc comme coucou747 mle proposait :

echo "<select>";

$repertoire ="./icons/avatar/";

$dh = opendir($repertoire);

while (false !($filename readdir($dh))) {

if ((strtolower(substr($filename,-3))=="gif") || (strtolower(substr($filename,-3))=="jpg")) {

$files[] = $filename;

}

}

sort($files);

$count = count($files);

for ($i = 0; $i < $count; $i++) {

echo "<option value=".$files[$i].">".$files[$i]."</option>";

}
echo "</select>";
_Marikou
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Oui j'ai oublie de preciser que scandir existait uniquement avec php5.

Tu devrais tester un peu tes variables : verifier qu'il s'agit bien
d'un dossier, puis d'un gif, mais plutot en testant le mimetype.

Voir du cote de getimagesize(), et de is_file().

D'autant plus qu'un jpg peut avoir comme extension jpeg. Voire pas d'extension du tout.

if ($imgInfos = <var>getimagesize</var> ($fichier)) { <samp>// a t on une image ?</samp>


if ($imgInfos[<var>'mime'</var>] === <var>'image/gif'</var> || $imgInfos[<var>'mime'</var>] === <var>'image/jpeg'</var> || $imgInfos[<var>'mime'</var>] === <var>'image/png'</var>) }<samp>// d'un type valide sur le net ?</samp>