[RESOLU] Enrégistrer un tableau dans un fichier .txt

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Enrégistrer un tableau dans un fichier .txt

Re: Enrégistrer un tableau dans un fichier .txt

par sam12 » 16 févr. 2013, 04:23

Si tu ne comprends pas les explications de la doc, regarde les exemples, le code et ce qu'il retourne. Tu peux aussi regarder les contributions dessous, des fois ça permet de voir des applications autres ;)

Re: Enrégistrer un tableau dans un fichier .txt

par cracktor » 16 févr. 2013, 01:23

Merci à vous deux pour vos explications très claires. Oui évidement $key ou $val.Désoléj’aurait dû y penser.

Je comprends le RTFM mais je galérais depuis 6 heures pour trouver une solution à ce problème et j’ai beaucoup de difficulté à comprendre mes notes de cours (pdf fournit par l'établissement) et pourtant tout ce que vous venez de m’expliquer y est.

Avez-vous des suggestions pour m’aider à mieux comprendre des explications parlant de code?
exemple dans l’explication sur le explode sur php.net : explode() retourne un tableau de chaînes, chacune d'elle étant une sous-chaîne du paramètre string extrait en utilisant le séparateur délimiter.

Re: Enrégistrer un tableau dans un fichier .txt

par niuxe » 16 févr. 2013, 00:05

...
$row représente quel rangé du tableau?
row en Anglais veut dire ligne. on est dans une boucle qui tournera 6 fois :
$tableau = array(
        '582-062-OQ'=>'Design et mise en pages',
        '582-079-OQ' => 'Langage hypermédia II',
        '582-073-OQ' => 'Programmation II',
        '582-061-OQ' => 'Communication Web marketing',
        '582-065-OQ' => 'Traitement multimédia',
        '582-086-OQ' => 'Veille technologique et nouveaux médias'
    );
echo count($tableau);
Chaque fois qu'une boucle s'initialisera, la var row concaténera la valeur de $k, le "=" , la valeur de $v et un retour chariot.
ex : 582-073-OQ = Programmation II\n (3e ligne)
...
$k et $V représentent quoi exactement?
Arf, c'est pratiquement une convention d'écriture. Je dirai plus une habitude de beaucoup de dev php.
$k étant la clef du tableau
$v étant la valeur de la clef du tableau
$tableau = array(
        '582-062-OQ'=>'Design et mise en pages',
        '582-079-OQ' => 'Langage hypermédia II',
        '582-073-OQ' => 'Programmation II',
        '582-061-OQ' => 'Communication Web marketing',
        '582-065-OQ' => 'Traitement multimédia',
        '582-086-OQ' => 'Veille technologique et nouveaux médias'
    );
echo $tableau['582-073-OQ'];

Je t'invite à essayer ceci afin de mieux comprendre ce qui se passe :
<?php
    $file = "fichier.txt";
    $mode = "w+";
    
    $tableau = array(
        '582-062-OQ'=>'Design et mise en pages',
        '582-079-OQ' => 'Langage hypermédia II',
        '582-073-OQ' => 'Programmation II',
        '582-061-OQ' => 'Communication Web marketing',
        '582-065-OQ' => 'Traitement multimédia',
        '582-086-OQ' => 'Veille technologique et nouveaux médias'
    );
    $row = "";
    foreach($tableau as $k => $v){
        $row .= $k." = ".$v."\r";
    }
    echo nl2br($row); // ;)
    $ressource = fopen($file,$mode);
    fwrite($ressource,$row);
    fclose($ressource);
...
Et $ressource non plus je ne comprends pas d’ou il vient.
Regarde où j'initialise la variable ;)

Re: Enrégistrer un tableau dans un fichier .txt

par niuxe » 15 févr. 2013, 23:57

Un fichier xml permet de structurer tes données. Un fichier html n'est ni plus ni moins qu'un fichier xml plus élaboré.
Là dans ton cas, l'arborescence de ton fichier xml pourrait être :
<table>
    <tr>
        <th>582-062-OQ</th>
        <th>582-079-OQ</th>
        <th>582-073-OQ</th>
        <th>582-061-OQ</th>
        <th>582-065-OQ</th>
        <th>582-086-OQ</th>
    </tr>
    <tr>
        <td>Design et mise en pages</td>
        <td>Langage hypermédia II</td>
        <td>Programmation II</td>
        <td>Communication Web marketing</td>
        <td>Traitement multimédia</td>
        <td>Veille technologique et nouveaux médias</td>
    </tr>
</table>
En ce qui concerne un fichier *.ini. C'est un type de fichier d'initialisation/configuration/données
D'ailleurs mon code précédent c'est un ini. Un fichier ini est plus rapide à lire si je ne m'abuse. Il y a des fonctions dédiées à la lecture. parse_ini_file()

Je t'invite à lire la fonction explode() et implode().

Je vois bien que tu commences à apprendre. Cependant, RTFM avant de poser une question ;)

Re: Enrégistrer un tableau dans un fichier .txt

par cracktor » 15 févr. 2013, 23:46

Ca fonctionne très bien par contre je ne comprends pas ton code et toutes tes variables.

$row représente quel rangé du tableau?
$k et $V représentent quoi exactement?
Et $ressource non plus je ne comprends pas d’ou il vient.

Quelqu’un peut m’expliquer ? Merci d’avance!

Re: Enrégistrer un tableau dans un fichier .txt

par cracktor » 15 févr. 2013, 23:26

Ceci est pour un exercice d'école que je n'ai pas compris, car le professeur allait trop vite. Malheureusement je ne sais pas encore ce que c’est des fichiers XML ou ini.
Je te remercie beaucoup de ta réponse je vais essayé avec cela et je reviens en cas de problème.

Et je me souviens aussi que le professeur en question parlé de la fonction "explode". Ça vous dit quelque chose?

Re: Enrégistrer un tableau dans un fichier .txt

par nicolas » 15 févr. 2013, 23:21

Re: Enrégistrer un tableau dans un fichier .txt

par niuxe » 15 févr. 2013, 23:15

Salut,

Bin non tu peux pas faire ceci puisqu'au mieux il y aura dans le fichier : array.

Ne serait il pas plus judicieux de créer un xml ou un ini ?

Sinon, si tu veux vraiment faire un fichier txt :
<?php
    $file = "fichier.txt";
    $mode = "w+";
    
    $tableau = array(
        '582-062-OQ'=>'Design et mise en pages',
        '582-079-OQ' => 'Langage hypermédia II',
        '582-073-OQ' => 'Programmation II',
        '582-061-OQ' => 'Communication Web marketing',
        '582-065-OQ' => 'Traitement multimédia',
        '582-086-OQ' => 'Veille technologique et nouveaux médias'
    );
    $row = "";
    foreach($tableau as $k => $v){
        $row .= $k." = ".$v."\n";
    }
    
    $ressource = fopen($file,$mode);
    fwrite($ressource,$row);
    fclose($ressource);

Enrégistrer un tableau dans un fichier .txt

par cracktor » 15 févr. 2013, 22:41

Bonjours,
je dois enrégistrer un $tableau dans un .txt. je sais deja comment ecrire dans un fichier txt.


$chemin = "cours.txt";
 

$fichier = fopen($chemin,"w");

fwrite($fichier, "Chien\r\n");
fwrite($fichier, "Chat\r\n");
fwrite($fichier, "Poulet\r\n");

fclose($fichier);
Par contre je ne sais pas comment enrégistrer ce tableau dans un .txt.
$tableau = array('582-062-OQ'=>'Design et mise en pages', 
                         '582-079-OQ' => 'Langage hypermédia II',
                         '582-073-OQ' => 'Programmation II', 
			 '582-061-OQ' => 'Communication Web marketing',
		 	 '582-065-OQ' => 'Traitement multimédia',
		 	'582-086-OQ' => 'Veille technologique et nouveaux médias');
Puis-je faire ceci ?
$chemin = "cours.txt";
 

$fichier = fopen($chemin,"w");

fwrite($fichier, "$tableau\r\n");


fclose($fichier);