Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2286 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Fonction Array() et variable, possible?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction Array() et variable, possible?

n°1571126
varindien
Posté le 06-06-2007 à 16:55:57  profilanswer
 

Code :
  1. <?
  2. $dir = opendir("../page_eleve/" );
  3.  while($file = readdir($dir))
  4.  {
  5.   $tab = $tab." ' , ' ". $file;
  6.   }
  7.  $tab1 = " ' ".$tab." ' ";
  8.  $arr= array($tab1 );
  9.  echo $arr[3].' - '.$arr[4];;
  10. ?>


 
echo $tab1 donne :  '','.','..','test_dossier','pouet.html','index.html','test.jpg','2630.jpg','tes1.html'
 
Or quand je fais un echo de $tab1 et le met dans array().. cela marche mes echo $arr[3].'-'.$arr[6]; marche il me sort test_dossier - index.html
 
Sinon, tel que le code est présenté la. tout est dans $arr[0]
Donc , je me demandé si il vallait préciser quelque chose dans l'array().. quand c'est une variable qui est dedans.

mood
Publicité
Posté le 06-06-2007 à 16:55:57  profilanswer
 

n°1571130
FlorentG
Posté le 06-06-2007 à 17:02:38  profilanswer
 

Au lieu de tout séparer par une virgule, pourquoi ne pas stocker directement dans le tableau ?

 
Code :
  1. $arr[] = $file;


Message édité par FlorentG le 06-06-2007 à 17:02:44
n°1571133
omega2
Posté le 06-06-2007 à 17:06:18  profilanswer
 

explode permet de transformer une chaine en tableau en utilisant un caractére donné comme séparateur : http://fr.php.net/manual/fr/function.explode.php
 
 
Petite question : vu que tu listes les fichiers d'un répertoire, pourquoi ne mets tu pas les noms de fichiers directement dans un tableau?

Code :
  1. $tab[]='toto';
  2. $tab[]='marcel';

donera un tableau dont la premiére case contiendra "toto" et la seconde "marcel".

n°1571146
AlphaZone
Posté le 06-06-2007 à 17:18:26  profilanswer
 

J'opte pour la solution a FlorentG.
 
C'est bien plus simple et plus agréable en terme de codage.


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
n°1571153
varindien
Posté le 06-06-2007 à 17:28:11  profilanswer
 

Je ne met pas les nom directement des répertoire car il viendront a changer.Car ce repertoire va être incrémenté de dossier.
le but de ce tableau est de pouvoir faire une comparaison.Si le dossier existe alors on l'écrase, sinon on le creer.
 
FlorenG, $arr[] = $file;
 

Code :
  1. <?
  2.  
  3.       $dir = opendir("../page_eleve/" );
  4.      
  5.               while($file = readdir($dir))
  6.               {   
  7.  
  8.                   $arr[]=$file      ;
  9.                  
  10.               }
  11.            
  12.                      
  13.   ensuite?!? :p
  14.          
  15.              
  16.              
  17.       ?>


 
je ne vois pas bien FlorentG ce que tu m'as dis

n°1571154
FlorentG
Posté le 06-06-2007 à 17:30:30  profilanswer
 

Ben là dans $arr tu retrouve toute ta liste des fichiers. Déclare-le avant le while :

Code :
  1. $dir = opendir("../page_eleve/" );
  2. $arr = array();
  3. while($file = readdir($dir)) {    
  4.  $arr[]=$file;
  5. }


Et tu retrouve dans chaque case un fichier.

n°1571176
varindien
Posté le 06-06-2007 à 18:03:59  profilanswer
 

Merci FlorentG
 
Mais cependant ( vu que c'est une syntaxe que je connaissais pas..)
Comment comparer ,par exemple, si le fichier creer ( on va dire qu'il est stocké dans une variable $nom ) au differente entre du tableau?
 
en te remerciant!

n°1571180
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 06-06-2007 à 18:07:30  profilanswer
 

la fonction in_array($variable_recherchee, $tableau_ou_chercher) renvoie true ou false.
 
Attention au listing du dossier, php.net ne recommande pas ton écriture.
http://fr.php.net/manual/fr/function.readdir.php

n°1571199
varindien
Posté le 06-06-2007 à 18:37:54  profilanswer
 

Merci NewsletTux.
 
cependant, $arr[], n'est pas accepter pour $tableau_ou_chercher.( cannot read )
et je ne sais pas comment lier des valeurs d'un tableau a une variable?
 
:$

n°1571523
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 07-06-2007 à 13:45:53  profilanswer
 

si tu suis la syntaxe de php.net, tu dois pouvoir récupérer dans un tableau tous les noms de fichiers et dossiers de ton répertoire ...
 
En améliorant un peu, tu peux ne récupérer que les fichiers :

Code :
  1. $array_files = array();
  2. if ($handle = opendir('../page_eleve/'))
  3. {
  4.    while (false !== ($file = readdir($handle)))
  5.    {
  6.       if (($file !='.') && ($file != '..') && (!is_dir($file)))
  7.       {
  8.          $array_files[] = $file;
  9.       }
  10.    }
  11. }


 
logiquement là si tu fais un :

Code :
  1. print_r($array_files);


tu as tous les fichiers.
 
Pour voir si ton nom de fichier existe dans ce tableau ensuite :

Code :
  1. if (in_array($nom_fic, $array_files))
  2. {
  3.    // $nom_fic existe dans $array_files
  4.    ...
  5. }


Message édité par NewsletTux le 07-06-2007 à 13:47:47

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Fonction Array() et variable, possible?

 

Sujets relatifs
[VBA WORD] fonction rechercher / remplacer[php] Comment récupéré les trois premieres lettre d'une variable?
mettre le contenu d'un fichier dans une variablePossible ? Stocker dans une variable de l'HTML généré par une page PHP
[Resolu] Ordre du résultat en fonction d'une clause in.Probléme pour remplacer = dans une variable
[updated]- [c] centraliser declaration de variable.Problème variable static - application web tomcat
recuperation resultat dans variable 
Plus de sujets relatifs à : Fonction Array() et variable, possible?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR