Récupérer noms de fichiers [Résolu]

Signaler
Messages postés
21
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
23 mai 2006
-
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006
-
bonjour,

je voudrais récupérer les noms de fichier dans un répertoire et supprimer l'extention des fichiers trouvés, pour ensuite les mettre dans une combo box.

Ex : l'utilisateur clique sur un lien (qui me dira dans quel répertoire aller chercher) et j'afficherai dans la combo tous les fichiers présents dans le répertoire.

Merci pour votre aide.

8 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

http://fr3.php.net/manual/en/function.readdir.php

et pour ôter l'extension, à toi de voir. Il te faudra utiliser substr () de toutes façons.
http://fr3.php.net/manual/en/function.basename.php peut aussi te servir.
Messages postés
21
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
23 mai 2006

impeccable pour le readdir

En ce qui concerne l'extension, je me suis servi de explode() et ca marche aussi.

Merci encore
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Oui, mais gaffe si tu as deux points dans le nom de ton fichier
(j'appelle généralement mes classes : 'maclasse.cls.php' par exemple).
Messages postés
21
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
23 mai 2006

en fait ca marche bien avec explode car je mets comme chaine séparatrice '.php' donc pas de probleme. Seulement il m'affiche aussi les noms de dossiers. Comment puis je faire ? Voici mon code :


$current='menu3/';
$dir=opendir($current);
while($file=readdir($dir))
{
$file_array=explode('.php',$file);
echo "$file_array[0]
" ;
}
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
C'est pour ça que je t'ai filé basename () aussi...

;-)
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Pour n'afficher que les fichiers tu peux vérifier si ce sont des fichiers avec is_file().

Pourquoi le php est-il si intuitif? XD



Sinon pour virer l'extension... hum...

Si tu es sûr d'avoir que des fichiers .php, tu peux faire :

$file = basename($file,".php");

Comme l'a suggéré malalam



Sinon pour virer tout ce qu'il y a derrière le dernier point et le point lui-même (pour peu qu'il y en ait un)... hum...

$file = ereg_replace("(\.([^\.])+)$","",$file); // a tenter, je suis vraiment nul en regexp v__v
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Et un substr() pouvais pas faire l'affaire peut-être ? ;)
Messages postés
420
Date d'inscription
vendredi 28 novembre 2003
Statut
Membre
Dernière intervention
20 mars 2006

Oui mais tu présuppose là que toutes les extensions ont la même taille
de caractères... Ou montre moi comment tu veux l'utiliser :p