compléter un fichier texte

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 : compléter un fichier texte

par speddy1406 » 11 juil. 2005, 11:57

c'est bon tout fonctionne parfaitement.
Merci beaucoup

par zeus » 11 juil. 2005, 11:25

- Tu transfert toujours dans le même fichier, pas la peine de l'ouvrir à chaque fois
- Pas de modification de ligne car on a besoin du \n de fin de ligne

Code corrigé
//Ouverture du fichier 1
$fichier1="assimile_3h.txt";
$o_file = fopen($fichier1, "a");
//Ouverture du fichier 2
$fichier2="assimile_03.txt";
$a_fichier2 = file($fichier2);

//On parcours chaque ligne du fichier 2
foreach($a_fichier2 as $ligne) {
    //Ecriture de cette ligne dans le fichier texte
    fputs($o_file, $ligne);
}
fclose($o_file);

par zeus » 11 juil. 2005, 11:13

Non

Donc on doit revenir au transfert manuel

par speddy1406 » 11 juil. 2005, 11:11

la fonction copy fonctionne
<?PHP
copy("assimile_03.txt","assimile_3h.txt");
?>
le problème est qu'il m'écrase mes données existante dans assimile_3h.txt.

existe t-il un moyen avec cette fonction d'éviter l'écrasement des données existantes ?

par Invité » 11 juil. 2005, 11:02

c'est vrai je n'y avais pas pensé c'est ce que je vais faire en espérant que j'y arrive...
En te remerciant pour ton aide

par zeus » 11 juil. 2005, 11:00

Attend, un doute m'assaille :shock:

Tu veut copier le contenu d'un fichier dans un autre, c'est ça ?

Et la fonction copier (copy) ?

par speddy1406 » 11 juil. 2005, 10:58

je suis désolée encore une fois mais j'ai repris le code que tu m'as fournis et je l'ai modifié pour pour obtenir ce que je souhaite, voila ce que j'ai fait :
?>

<?PHP
//Ouverture du fichier 1 
$fichier1="assimile_3h.txt"; 
$a_fichier1 = file($fichier1); 
//Ouverture du fichier 2 
$fichier2="assimile_03.txt"; 
$a_fichier2 = file($fichier2); 



//On parcours chaque ligne du fichier 2 
foreach($a_fichier2 as $ligne) { 
   

    //Mise en tableau de la ligne 
    $a_ligne = explode("\t",$ligne); 

    
    
    //Ouverture du fichier assimile_3h.txt existant avec  le curseur à la fin pour ne pas écraser le contenu 
    $fichier = fopen("assimile_3h.txt", "a"); 
    //Construction de la ligne
   $str_a_insere = rtrim($a_ligne); 
  
     
    //Ecriture de cette ligne dans le fichier texte 
    fputs($fichier, $str_a_insere); 
    //fermeture du fichier texte 
    fclose($fichier); 
}
?>
Mais à la fin de mon fichier il me met une ligne de array.
Peux tu m'expliquer pourquoi il me met array car je ne comprend pas.merci

par zeus » 11 juil. 2005, 10:33

Je ne veux pas être désagréable mais on vient de finir un post très semblable dans lequel je t'ai donné le code qui va résoudre ce problème :evil:

http://www.phpfrance.com/forums/voir_sujet-5434.php


Si tu prend 15 secondes pour lire en détail mon code et surtout mes commentaires (et oui, je prend le temps de les mettres pour que ceux qui récupère mes sources puissent comprendres) et 15 autres secondes pour aller chercher la signification sur php.net ou équivalent, tu aurait vu que tu avais déjà la solution

Je cherche juste à te faire comprendre qu'il faut que tu cherche par toi même

compléter un fichier texte

par speddy1406 » 11 juil. 2005, 10:18

Désolé mais j'ai un nouveau problème...
Voila je souhaite intégrer des données contenues dans un fichers texte dans un autre fichier texte.

voici le code que j'ai fait mais çà ne fonctionne pas :
<?PHP

$fichier1 = fopen("valeur_depart.txt","a+"); 
$fichier2="fichier_final.txt";
while (!feof($fichier1))
{

$fichier2=fgets ($fichier1,50);
}


fputs($fichier1,$fichier2); 
fclose($fichier1);
?>
L'objectif est de rajouter dans le fichier fichier_final.txt les valeur du ficher valeur_depart.txt.
Je pense qu'il manque dans mon programme la partie qui récupère les valeurs de fichier_depart.txt mais je bloque un peu.

Merci pour votre aide