IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lister un répertoire sous condition


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Lister un répertoire sous condition
    slt à tous,
    je fais appel a vous car la je suis un peu dans le gaz.

    Je voudrais pouvoir lister les fichiers contenus dans un repertoire mais sous conditions.
    je voudrais pouvoir lister tous les fichiers dont le nom contient est par exemple : bob
    donc
    jnuboblo.txt
    boboze.pdf etc...
    j'ai commencer un code que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    $valeur="bob";
         function listing($repertoire){
     
         $fichier = array();
     
         if (is_dir($repertoire)){
     
         $dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
         while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file
     
         if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
     
         $page = $file; //sort l'extension du fichier
         $page = explode('.', $page);
         $nb = count($page);
         $nom_fichier = $page[0];
         for ($i = 1; $i < $nb-1; $i++){
         $nom_fichier .= '.'.$page[$i];
         }
         if(isset($page[1])){
        $ext_fichier = $page[$nb-1];
        if(!is_file($file)) { $file = ''.$file; }
     
    	 }
         else 
    	 {
        if(!is_file($file)) { $file = ''.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
         $ext_fichier = '';
     
         }
     
         if($ext_fichier != 'php3' and $ext_fichier != 'db' ) { //utile pour exclure certains types de fichiers à ne pas lister
         array_push($fichier, $file);
         }
        }
         }
         }
     
         natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
         // et la date du téléchargement
        foreach($fichier as $value) {
         echo '    <a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'"  target=\"_blank\">'.$value.'</a> <br />';
     
         }
     
         }
     
         //exemple d'utilisation :
     
         listing('000'); //chemin du dossier
    Mais je seche pour le tri.
    Si une bonne ame peut me donner un coup de main ca serait bien cool.
    Merci

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    stripos() devrait t'aider !

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    J'ai essayé d'adapter stripos()
    dans mon code mais sans succés
    si vous pouvez m'aider à l'integrer dans mon code ...

    Merci

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par spawns Voir le message
    J'ai essayé d'adapter stripos()
    dans mon code mais sans succés
    si vous pouvez m'aider à l'integrer dans mon code ...

    Merci
    montre nous

  5. #5
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     $valeur="bob";   
         function listing($repertoire){
     
         $fichier = array();
     
         if (is_dir($repertoire)){
     
         $dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
         while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file
     
         if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
     
         $page = $file; //sort l'extension du fichier
         $page = explode('.', $page);
         $nb = count($page);
         $nom_fichier = $page[0];
         for ($i = 1; $i < $nb-1; $i++){
         $nom_fichier .= '.'.$page[$i];
         }
         if(isset($page[1])){
        $ext_fichier = $page[$nb-1];
        if(!is_file($file)) { $file = ''.$file; }
    	 }
         else 
    	 {
        if(!is_file($file)) { $file = ''.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
    	$ext_fichier = '';
     
         }
     
         if($ext_fichier != 'php3' and $ext_fichier != 'db' ) { //utile pour exclure certains types de fichiers à ne pas lister
         array_push($fichier, $file);
         }
        }
         }
         }
     
         natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
         // et la date du téléchargement
     
     
        foreach($fichier as $value) {
     
    $pos1 = stripos($value, $valeur);
    if ($pos1 === false) {
        echo "La chaîne '$valeur' n'a pas été trouvée dans la chaîne '$value'";
    }
     
        echo '    <a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'"  target=\"_blank\">'.$value.'</a> <br />';
         }
         }
         //exemple d'utilisation :
     
         listing('000'); //chemin du dossier
    ca me met
    Fatal error: Call to undefined function: stripos()

  6. #6
    Membre actif Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Points : 207
    Points
    207
    Par défaut
    Verifie si tu a bien PHP5 car cette fonction n'existe pas en PHP4.

  7. #7
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    non je suis en php 4.4.4

    mais j'y ai ajouter la fonction avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function stripos($haystack, $needle){
        return strpos($haystack, stristr( $haystack, $needle ));
    }
    mais il ne lit pas ma variable $valeur donc il ne peut la comparer visiblement.
    une idée
    ou une autre soluce pour php4

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par spawns Voir le message
    ou une autre soluce pour php4
    La doc : strpos() indiqué dans le lien que je t'ai donné précédemment ...

  9. #9
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Mon code devrais marcher
    mon seul soucis je pense, c'est que ma variable $valeur est en dehors de ma
    fonction donc il ne la trouve pas.
    Comment faire pour que celle ci soit prise en compte. tout en sachant que je ne peux pas l'integrer dans la fonction directement.

  10. #10
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    au debut de ta fonction tu mets :


  11. #11
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Yes nikel c'est ce qui me fallait.
    Merci à tous.
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lister les répertoires sous dos + partage
    Par pastoi dans le forum Windows
    Réponses: 2
    Dernier message: 15/09/2011, 14h46
  2. Lister un répertoire et tous ses sous répertoires dans un treeview
    Par shaun_the_sheep dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/09/2008, 08h37
  3. Lister fichiers et sous répertoire dans un menu déroulant
    Par WeDgEMasTeR dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2008, 16h48
  4. lister un répertoire avec sous-dossiers
    Par helene_53 dans le forum Général Java
    Réponses: 7
    Dernier message: 27/03/2008, 11h42
  5. lister les répertoires et sous répertoire
    Par panthere noire dans le forum Linux
    Réponses: 7
    Dernier message: 27/12/2006, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo