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 :

[Tableaux] les tableaux


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 87
    Points : 49
    Points
    49
    Par défaut [Tableaux] les tableaux
    bonjour,

    en faite, j'aimerais construire un tableau de nom de fichier en les lisant dans le repertoire:
    pour le moment j'ai cela:

    avant j'avais cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $filenameList = array('textzone_top.html', 'textzone_bas.html', 'textzone_inscription.html');
    Et j'aimerais que ce qui suit revienne à la meme chose, mais ce qui change, c'est que c'est dynamique.
    Voilà ce que j'ai fait:
    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
     
    $dir = "c:\\temp";
    $i=0;
     
    //le nom des fichiers --> on les range dans un tableau
    if (is_dir($dir)) 
    {
       if ($dh = opendir($dir)) 
       {
           while (($file = readdir($dh)) !== false) 
    	   {
               echo "fichier : $file <br>";
    		   $filenameList[$i]=$file;
    		   $i++;
           }
           closedir($dh);
       }
    }
    Mais le probleme, quand je change le code du 1er(tableau statique) par le 2eme(tableau dynamique)
    mon code qui suit ne fonctionne plus: il me met:
    Warning: Invalid argument supplied for foreach()
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach($filenameList as $idFile => $fileName)
        {
        ?>
    <tr>
        <td ><?php echo basename($fileName); /*affiche les noms de fichiers*/?></td>
    <?
        }
    ?>
    merci de votre aide

  2. #2
    Membre habitué
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 156
    Points
    156
    Par défaut
    Warning: Invalid argument supplied for foreach()
    sa c'est que tu ne passe pas un tableau à l'instruction foreach

    fais un var_dump de $filenameList pour voir

  3. #3
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    A mon avis ton code ne rentre même pas dans ce test : if (is_dir($dir))

    Remplaces par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (is_dir($dir))
    { echo 'ok' ;
    ...
    S'il n'affiche pas 'ok' c'est qu'il ne reconnait pat $dir comme un dossier.

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

Discussions similaires

  1. Comment faire pour les tableaux, les float et les espaces.
    Par HoussamAcad dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 19/06/2009, 15h10
  2. [Tableaux] Les tableaux multi-dimensionnels
    Par ludovik dans le forum Langage
    Réponses: 2
    Dernier message: 23/05/2006, 12h21
  3. Réponses: 14
    Dernier message: 01/09/2003, 22h46
  4. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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