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 :

ecrire dans un fichier.txt


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Stagiaire
    Inscrit en
    Août 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 148
    Points : 50
    Points
    50
    Par défaut ecrire dans un fichier.txt
    Bonjour,

    je veux generer un fichier.txt qui contient des valeurs generer par une formulaire en php mnt j'arrive a generer ce fichier mais le probleme c'est que je veux ce fichier ne ferme pas pour que je puisse chaque fois ajouter des contenus je vais detailler le probleme,j'ai une formulaire qui contient 5 radio boutton quand je clique sur une de ces radio il me redirige vers la page ou il ya la formulaire correspond a radio boutton selectionner,je remplis la formulaire,ensuite j'enregistre les donnees dans une base de donnée et je recuperer ces données dans un fichier.txt qui a ete generer automatiquement lors de l'enregistrement des données et ensuite je refais meme chose pour les autres radio boutton mais mon souci c'est que je dois continuer l'enregistrement des données des autres formulaires dans meme fichier.txt c'est pas de generer pour chaque formulaire un fichier.txt je crois vous voyer mon probleme maintent n'esitez pas de m'aidez voila mon code qui genere le fichier.txt:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    	<?php    
    include('connection.php');	
     
    $q = mysql_query("SELECT * FROM qc_xml ORDER BY id_qc DESC limit 1;") or die('Erreur de la requête MySQL'); 
     
    	$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>'."\r\n";
    	while ($row = mysql_fetch_array($q)) {
    		$xml .= '<Endpoint UseAsQuery="'.$row["Query"].'">'."\r\n";
    		$xml .= '<Type>'.'QC'.'</Type>'."\r\n";
    		$xml .= '<EpName>'.$row['Epname'].'</EpName>'."\r\n";
    		$xml .='<ConnectionData>'."\r\n";
    		$xml .= '<Username>'.$row['Username'].'</Username>'."\r\n";
    		$xml .= '<password encrypted="'.$row['radio'].'" value="'.$row['valeur'].'"/>'."\r\n";
    		$xml .= '<Properties>'."\r\n";
    		$xml .= '<property name="Domain" value="'.$row['domain'].'"/>'."\r\n";
    		$xml .= '<property name="Project" value="'.$row['project'].'"/>'."\r\n";
    		$xml .= '</Properties>'."\r\n";
    		$xml .= '</ConnectionData>'."\r\n";
     
    		$xml .= '<Filters>'."\r\n";
    		//$xml .= '<filter field="'.$row['filter_field'].'" value="'.$row['valeur'].'"/>'."\r\n";
    		// ----
    		$array_filter_operator = explode('<br />',nl2br($row['filter_field']));
    		$array_field = explode('<br />',nl2br($row['valeur_c']));
     
    		foreach($array_filter_operator as $key => $val) {
    			$xml .= '<filter field="'.trim($array_filter_operator[$key]).'" value="'.trim($array_field[$key]).'" />'."\r\n";
    		}
    		// ----
    		$xml .= '</Filters>'."\r\n";
     
    		$xml .= '<FieldToGet IDName="'.$row['idname'].'">'."\r\n";
    		// ----
    		$array_field = explode('<br />',nl2br($row['field']));
    		foreach($array_field as $key => $val) {
    			$xml .= '<Field>'.trim($array_field[$key]).'</Field>'."\r\n";
    		}
    		// ----
    		$xml .= '</FieldsToGet>'."\r\n";
     
     
     
     
    	} // fin while
    	$xml .= '</Endpoint>'."\r\n";
    	$file = "D:/CQIET/wamp/www/projet_NDS/configuration/fichier_xml/".$fichier.".txt";
      $current= $xml;
      file_put_contents($file,$current);
     
    ?> 
     
     <script language="javascript">
    alert("enregister"); </script> <?php  include("QC_xml.php");exit;

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Bonjour,

    Si j'ai bien compris, il te suffit de reprendre le même nom de fichier et d'écrire à la fin de celui-ci.
    Pour plus d'informations sur la manipulation des fichiers cherches sur Google

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Si c'est pour écrire du XML dans un fichier (quelle que soit ton extension) tu devrais utiliser le DOM: http://php.net/manual/en/book.dom.php

  4. #4
    Membre du Club
    Femme Profil pro
    Stagiaire
    Inscrit en
    Août 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 148
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta reponse @FirePrawn mais comment je peux garder le nom de fichier.

    Merci@Benjamin mais j'arrive a creer mon fichier sans utiliser dom

  5. #5
    Membre du Club
    Femme Profil pro
    Stagiaire
    Inscrit en
    Août 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 148
    Points : 50
    Points
    50
    Par défaut
    le nom de fichier doit generer lors de la premiere selection de radio boutton ensuite je clique que sur next pour continue la remplissage dans le fichier a partir des autres formulaires

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Citation Envoyé par Miss kouka Voir le message
    Merci pour ta reponse @FirePrawn mais comment je peux garder le nom de fichier.

    Merci@Benjamin mais j'arrive a creer mon fichier sans utiliser dom
    Suis les instructions fournies par FirePrawn, il faut spécifier un mode d'ouverture a+ (pour lecture/ecriture par ajout).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $handle = fopen('myfile.txt', 'a+');
    fwrite($handle, "Une phrase");
    Si je te conseille d'utiliser DOM plutôt que de créer les nodes à la main c'est pour obtenir plus de sécurité: un XML invalide (par exemple un tag fermant oublié) est complétement inutilisable.

  7. #7
    Membre du Club
    Femme Profil pro
    Stagiaire
    Inscrit en
    Août 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 148
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    j'ai mis le code pour l'ecriture dans un fichier mais il remplace l'ancien enregistrement et moi je veux qu'il cherche la fin de fichier et continue l'ecriture voila mon code:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    	<?php    
    include('connection.php');	
     
    $q = mysql_query("SELECT * FROM cq_xml ORDER BY id_cq DESC limit 1;") or die('Erreur de la requête MySQL'); 
     
    	$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>'."\r\n";
    	while ($row = mysql_fetch_array($q)) {
    		$xml .= '<Endpoint UseAsQuery="'.$row["Query"].'">'."\r\n";
    		$xml .= '<Type>'.'CQ'.'</Type>'."\r\n";
    		$xml .= '<EpName>'.$row['Epname'].'</EpName>'."\r\n";
    		$xml .='<ConnectionData>'."\r\n";
    		$xml .= '<Username>'.$row['Username'].'</Username>'."\r\n";
    		$xml .= '<password encrypted="'.$row['radio'].'" value="'.$row['valeur'].'"/>'."\r\n";
    		$xml .= '<Properties>'."\r\n";
    		$xml .= '<property name="Repository" value="'.$row['database'].'"/>'."\r\n";
    		$xml .= '<property name="DataBase" value="'.$row['repository'].'"/>'."\r\n";
    		$xml .= '</Properties>'."\r\n";
    		$xml .= '</ConnectionData>'."\r\n";
     
    		$xml .= '<Filters>'."\r\n";
    		$xml .= '<operator name="'.$row['operator'].'" parent="'.$row['parent'].'" BoolOp="'.$row['boolop'].'"/>'."\r\n";
    		// ----
    		$array_filter_operator = explode('<br />',nl2br($row['filter_operator']));
    		$array_field = explode('<br />',nl2br($row['field']));
    		$array_compop = explode('<br />',nl2br($row['compop']));
    		$array_valeur_c = explode('<br />',nl2br($row['filter_operator']));
    		foreach($array_filter_operator as $key => $val) {
    			$xml .= '<filter operator="'.trim($array_filter_operator[$key]).'" field="'.trim($array_field[$key]).'" CompOp="'.trim($array_compop[$key]).'" value="'.trim($array_valeur_c[$key]).'"/>'."\r\n";
    		}
    		// ----
    		$xml .= '</Filters>'."\r\n";
     
    		$xml .= '<FieldToGet IDName="'.$row['Idname'].'">'."\r\n";
    		// ----
    		$array_field = explode('<br />',nl2br($row['Balises_field']));
    		foreach($array_field as $key => $val) {
    			$xml .= '<Field>'.trim($array_field[$key]).'</Field>'."\r\n";
    		}
    		// ----
    		$xml .= '</FieldsToGet>'."\r\n";
     
    		$xml .= '<PIMT server="'.$row['server'].'">'."\r\n";
     
    		$xml .= '<property name="password" value="'.$row['pass'].'"/>'."\r\n";
    		$xml .= '<property name="project" value="'.$row['Project'].'"/>'."\r\n";
    		$xml .= '<property name="group" value="'.$row['Group'].'"/>'."\r\n";
    		$xml .= '<property name="graph" value="'.$row['Graph'].'"/>'."\r\n";
    		$xml .= '<property name="description" value="'.$row['Description'].'"/>'."\r\n";
    		$xml .= '<property name="implicit" value="'.$row['Implicit'].'"/>'."\r\n";
    		$xml .= '<property name="date" value="'.$row['Date'].'"/>'."\r\n";
    		$xml .= '<property name="item" value="'.$row['Item'].'"/>'."\r\n";
    		$xml .= '<property name="states" value="'.$row['states'].'"/>'."\r\n";
     
    		$xml .= '</PIMT>'."\r\n";
    	} // fin while
    	$xml .= '</Endpoint>'."\r\n";
    	//if (feof($fichier)) 
     
      $file = "D:/CQIET/wamp/www/projet_NDS/configuration/fichier_xml/".$fichier.".xml";
     // $current= $xml;
      //file_put_contents($file,$current);
    // $f = 'exemple.txt'; 
    //$text = "ma chaine de caractères"; 
     
    $handle = fopen($file,"w+"); 
    if (feof($file)) {
    // regarde si le fichier est accessible en écriture 
    if (is_writable($file)) { 
    // Ecriture 
        if (fwrite($handle, $xml) === FALSE) { 
          echo 'Impossible d\'écrire dans le fichier '.$file.''; 
          exit; 
        } 
     
        echo 'Ecriture terminé'; 
     
        fclose($handle); 
     
    } 
    else { 
          echo 'Impossible d\'écrire dans le fichier '.$file.''; 
        }
    ?> 
     
     <script language="javascript">
    alert("enregister"); </script> <?php  include("CQ_xml.php");exit; 
     
    	echo 'Export XML effectue !<br><a href="carnetMysqlToXml.xml">Voir le fichier</a>';

  8. #8
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tu as spécifié w+ en mode d'ouverture du fichier, ce qui signifie read + write + truncate.
    Comme je l'ai pourtant mentionné plus haut: le mode dont tu as besoin est a+, qui signifie read + write + append.

  9. #9
    Membre du Club
    Femme Profil pro
    Stagiaire
    Inscrit en
    Août 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 148
    Points : 50
    Points
    50
    Par défaut
    merci ca marche mais j'ai un soucis lors de la generation de fichier xml il m'aficche qu'une seul ligne pour la fonction voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $xml .= '<mapfunctions>'."\r\n";
    		$array_name = explode('<br />',nl2br($row['name_function']));
    		$array_comment = explode('<br />',nl2br($row['comment']));	
    		$array_value = explode('<br />',nl2br($row['value_function']));		
    		foreach($array_name as $key => $val) {
     
     
    		$xml .= '<function name="'.trim($array_name [$key]).'" />'."\r\n"
    		.'<arg comment="'.trim($array_comment [$key]).'" value="'.trim($array_value[$key]).'" />'."\r\n";	
    			}
    moi je veux pour chaque fonction il y a plusieurs comment et value.

    voila l'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <mapfunctions>
    <function name="f1" />
    <arg comment="aa" value="bb" />
    </function>
    </mapfunctions>
    et voila ce que je veux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <mapfunctions>
    <function name="f1" />
    <arg comment="aa" value="bb" />
    <arg comment="a" value="b" />
    <arg comment="c" value="c" />
    </function>
    <function name="f2" />
    <arg comment="u" value="u" />
    <arg comment="a" value="u" />
    <arg comment="e" value="u" />
    </function>
     
    </mapfunctions>

Discussions similaires

  1. comment ecrire dans un fichier txt avec WriteFile?
    Par Art19 dans le forum Langage
    Réponses: 13
    Dernier message: 04/07/2007, 15h50
  2. Ecrire dans un fichier txt en 4gl
    Par patriceguic dans le forum Informix
    Réponses: 2
    Dernier message: 07/05/2007, 20h44
  3. Ecrire dans un fichier .txt
    Par chabRRR dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 19h30
  4. Ecrire dans un fichier .txt
    Par yinyann86 dans le forum Pascal
    Réponses: 17
    Dernier message: 24/11/2006, 13h36
  5. Ecrire dans un fichier txt sans en effacer le contenu
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/12/2005, 18h11

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