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 :

Lecture d'une array sur boucle


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2014
    Messages : 63
    Points : 123
    Points
    123
    Par défaut Lecture d'une array sur boucle
    Bonjour à tous

    me voila confronté à un problème de taille : j'utilise la fonction suivante pour lire le contenu d'un répertoire et le trier par ordre alphabétique (car sur les serveurs linux ça n'est pas par défaut >< )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function lire_dossier($path){
    	if (is_dir($path)){
    		$result[] = array();
    		if ($dh = opendir($path)){
    			while (($File = readdir($dh)) !== false){
    				$File = utf8_encode ( $File );
    				$result[] = $File;
    			}
    			closedir($dh);
    		}
    	}
    	sort($result);
    	return $result;
    }
    problème j'arrive à récupérer l'array dans le résultat (avec un print_r) mais lorsque je fait un foreach dessus il me sort que le dernier résultat

    le code qui appelle la fonction + boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $rep_a_lire = $racine ."/contenu/". $categorie;        /* création de la variable du répertoire a lire */
    $rep_a_lire = iconv("UTF-8", "WINDOWS-1252", $rep_a_lire);          /* conversion de la chaine pour etre accepté (dossiers avec accent dans le path*/	
    $liste_fichier[] = lire_dossier($rep_a_lire);          /*récupération du contenu du répertoire */
    echo 'debut de $liste_fichier[]<br /><pre>';           /*affichage*/
    print_r($liste_fichier);                                        /*extraction en brut de l'array*/
    echo '</pre>';
    echo 'fin de $liste_fichier[]<br /><br /><hr /><br />début de la boucle foreach<br /><br />'; /*affichage d'agrémentation*/
    foreach($liste_fichier as $Fichier){                        /*boucle sur la liste des fichiers dans le répertoire */
       echo $Fichier .'<br />';				    /*         on affiche le fichier actuellement récupéré dans la boucle*/
       /*TODO : FAIRE LE TRAITEMENT*/
    }
    echo'<br />fin de la boucle foreach';                /*affichage signalant que l'on est sortie de la boucle */

    voilà le résultat qui me sort (affichage en pur dans le navigateur)

    debut de $liste_fichier[]
    
    Array
    (
        [0] => Array
            (
                [0] => .
                [1] => ..
                [2] => 01-test
                [3] => Array
                    (
                    )
    
            )
    
    )
    
    fin de $liste_fichier[]
    
    ---------------------------------------------------------------------
    
    début de la boucle foreach
    
    Array
    
    fin de la boucle foreach 
    pouvez vous m'aider ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_fichier[] = lire_dossier($rep_a_lire);
    La syntaxe [] signifie "nouvel élément dans le tableau"

    Donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_fichier = lire_dossier($rep_a_lire);

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2014
    Messages : 63
    Points : 123
    Points
    123
    Par défaut
    Merci à toi pour cette réponse ultra-rapide ça à résolu mon souci

    3 jour que j’étais sur ce problème


    [resolved]

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

Discussions similaires

  1. Lecture d'une vidéo sur le navigateur d'android
    Par phenomeno dans le forum Android
    Réponses: 0
    Dernier message: 23/01/2011, 14h57
  2. [RegEx] Retourner une array sur une partie de la chaine
    Par absurdsystem dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2010, 16h03
  3. Lecture d'une video sur un ftp
    Par paulem dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/12/2009, 19h08
  4. Réponses: 2
    Dernier message: 02/01/2008, 23h58

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