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

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] créer une variable quand on ne connait pas son contenu ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] créer une variable quand on ne connait pas son contenu ?

n°2214622
Djeweler
Posté le 30-12-2013 à 17:37:32  profilanswer
 

Bonjour,  
la question peut paraître conne mais ,je m'explique .
 
je cherche à définir un fichier csv présent dans un répertoire spécifique en variable php.
 
le nom du fichier pourra être janvier.csv , décembre.csv, ou nimporte_quel_nom.csv  
 
normalement ce répertoire n’accueillera qu'un seul .csv à la fois
 
mais peut importe le nom je souhaite que ce fichier soit pris comme variable  
 
connaissez vous un moyen ?  
 
 
j'avais penser à un truc du genre  
 
$directory = 'C:/Users/machin/www/repertoir_csv/';
 
$nomdufichier = glob($directory);
 
$fichier = $directory . "" .'.csv';
 
 
mais ça marche pas


Message édité par Djeweler le 31-12-2013 à 11:21:37
mood
Publicité
Posté le 30-12-2013 à 17:37:32  profilanswer
 

n°2214627
Profil sup​primé
Posté le 30-12-2013 à 18:09:16  answer
 

Ne pourais-tu lire le nom du fichier dans le répertoire ?

n°2214628
olivthill
Posté le 30-12-2013 à 18:10:41  profilanswer
 

Mais si ça marche, mis à part un petit problème de syntaxe.
 
Essayer :  

$mois = "janvier"
$fichier = "C:/Users/machin/www/repertoir_csv/" . $mois . ".csv";
echo $fichier

n°2214643
czh
Posté le 30-12-2013 à 21:49:38  profilanswer
 

Code :
  1. $directory = 'C:/Users/machin/www/repertoir_csv/';
  2. $nomdufichier = glob($directory);
  3. $fichier = $directory . "" .'.csv';


 
C'est normal, ce code n'a pas de sens.  
Si tu utilises glob, il faut pour lui filer un joker/wildcard (*), et la ligne "$fichier = ..." est aussi utile que la ligne qui la précède.
 
Si tu veux un code qui fait des trucs logiques il ressemblerait plutôt à ça :
 

Code :
  1. $directory = 'C:/Users/machin/www/repertoir_csv/';
  2. $fichier = glob($directory. '*.csv');
  3. // $fichier contient C:/Users/machin/www/repertoir_csv/qqchose.csv
  4. $nomfichier = basename($fichier_csv);
  5. // $nomfichier contient qqchose.csv


 
reste à savoir s'il fonctionne comme tu le souhaites...


Message édité par czh le 30-12-2013 à 21:54:11
n°2214650
Djeweler
Posté le 31-12-2013 à 10:08:25  profilanswer
 

tout d'abord merci pour les raiponces et le temps que vous y avez consacré.  
 
Ambition ,  c'est pas ce qu'est censé faire glob ?
 
olivthill , non c'est pas du tout ça, les noms de fichiers ne sont pas définit et ne le seront jamais, seul le format l'est. du coup je ne peut pas mettre une variable  $mois = "janvier" , les mois était simplement pour illustrer.
 
czh merci pour l'astuce du joker, je ne connaissais pas.
 
par contre, on va dire que mon fichier se nomme 007.csv, si je fais
 

Code :
  1. $fic = ($directory  .  $fichier );
  2. echo $fic;


je devrais avoir à l'affichage  
 

Code :
  1. C:/Users/machin/www/repertoir_csv/007.csv


 
mais au lieu de ça j'ai  
 

Code :
  1. C:/Users/machin/www/repertoir_csv/Array


 
c'est moche...


Message édité par Djeweler le 31-12-2013 à 10:58:36
n°2214655
bistouille
Posté le 31-12-2013 à 11:06:30  profilanswer
 

Citation :

GLOB
 
Valeurs de retour
 
Retourne un tableau contenant les fichiers et dossiers correspondant au masque, un tableau vide s'il n'y a aucune correspondance, ou FALSE si une erreur survient.

n°2214656
DiabloTC
Posté le 31-12-2013 à 11:07:22  profilanswer
 

Un tableau ne peut pas être "echo".  
Ca se lit comme ca : $tab[x]

n°2214657
Djeweler
Posté le 31-12-2013 à 11:18:27  profilanswer
 

ok c'est bon j'ai trouvé .
 
c'est pas du tout avec  

Code :
  1. $fic = ($directory  .  $fichier );
  2. echo $fic;


 
a la suite de  
 

Code :
  1. $directory = 'C:/Users/machin/www/repertoir_csv/';
  2. $fichier = glob($directory. '*.csv');
  3. // $fichier contient C:/Users/machin/www/repertoir_csv/qqchose.csv
  4. $nomfichier = basename($fichier_csv);
  5. // $nomfichier contient qqchose.csv


 
même si le retour Array m'a aiguillée  
 
oui bistouille  un tableau  
 
en fait il faut prendre ça comme une liste en l'occurance ma liste n'a qu'une entrée $fichier[0] et c'est bien mon chemain de fichier complet.
 
du coup je fait  
 

Code :
  1. $fic = $fichier[0];
  2. echo $fic;


 
 
si je reprend l'exemple avec 007.csv,  j'ai en retour d'echo

Code :
  1. 'C:/Users/machin/www/repertoir_csv/007.csv'


 
tout est nickel .
 
Merci tout le monde.


Message édité par Djeweler le 31-12-2013 à 11:22:09

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

  [Résolu] créer une variable quand on ne connait pas son contenu ?

 

Sujets relatifs
[Perl] Créer un graph RRD avec RRDTool::OOAfficher la variable local d'une fonction dans une classe fille
On a besoin de vous pour créer l'e-démocratie !Effacé contenu ciblé dans des cellules
[HTML/JS] Créer et télécharger un fichier CSV avec ieBesoin d'aide pour creer un programme
créer un logiciel d'avatarErreur incompréhensible d'une variable de type int
Accèder au contenu d'une balise <svgMSSQL - SET variable
Plus de sujets relatifs à : [Résolu] créer une variable quand on ne connait pas son contenu ?


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