Récupérer noms de fichiers

Résolu
tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006 - 25 oct. 2005 à 10:19
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006 - 26 oct. 2005 à 01:34
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 oct. 2005 à 10:33
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.
3
tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006
25 oct. 2005 à 11:15
impeccable pour le readdir

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

Merci encore
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 oct. 2005 à 11:31
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).
0
tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006
25 oct. 2005 à 11:55
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]
" ;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 oct. 2005 à 12:10
C'est pour ça que je t'ai filé basename () aussi...

;-)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
26 oct. 2005 à 00:47
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
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
26 oct. 2005 à 01:26
Et un substr() pouvais pas faire l'affaire peut-être ? ;)
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
26 oct. 2005 à 01:34
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
0
Rejoignez-nous