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

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Enregistrement rapide de variables dans un fichier


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut Enregistrement rapide de variables dans un fichier
    enregirtrement rapide des variable dans un fichier
    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
     
    <?php 
    @include('tonfichier.php');
    function output($vals)
    {
    	$pile=''; 
        if (is_array($vals)) 
    	{ 
    		$pile.="\r array(";$p='';
            foreach ($vals as $key=>$val)
    		 { 
    			$pile.=$p;
    			$pile.="'$key'=>";
    			$pile.=output($val); 
    			$p=',';
            } 
    		$pile.=") ";
       } 
    		else 
    		{ 
           	$pile .= "'".addslashes($vals)."'"; 
        	} 
       	 	return $pile;
    } 
     
    function backup_update($filname,$inp)
    {
    	$out='<?php $backup=';
    	$out.=output($inp);
    	$out.='; ?>';
    	$hwnd=fopen($filname,'wb');
    	if(fwrite($hwnd,$out))fclose($hwnd);
    }
     
    // l'etat actuelle du fichier backup
    echo '<pre>';
    print_r($backup);
    echo '</pre>';
     
     
     
    /// ici le traitement 
     
    //lecture de la valeur1 
    echo htmlentities($backup['valeur1']);
    //Modification  de la valeur 1
    $backup['valeur1']="delphidelphi";
     
    //ajouter nouveau variable 
    $backup['newvar']="rezrzerzer";
     
    $backup['newvararray']['index']['subindex']="sub text ";
     
    /// mise a jour   
    backup_update('tonfichier.php',$backup);
     
    ?>

  2. #2
    Membre régulier Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    pourquoi ne pas utiliser var_export($var, true) pour récupérer le code PHP exact et de le coincer dans un fwrite ?

    Ça me semble plus rapide et plus propre ainsi que plus général.

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    En effet, tu peux utiliser quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_put_contents(print_r($variable, TRUE), 'export.log');

  4. #4
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    bonjour
    Le code n'est pas pour débuguer des variables mes pour les enregistrer et les réutiliser ultérieurement
    ex si j'ai un variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $backup['valeurs']=array('texte_1','texte_2','texte_3','texte_4');
    avec print_r le texte enregistrer dans 'nomficher.php' sera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Array
    (
        [valeurs] => Array
            (
                [0] => texte_1
                [1] => texte_2
                [2] => texte_3
                [3] => texte_4
            )
     
    )
    et avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php $backup= array('valeurs'=> array('0'=>'texte_1','1'=>'texte_2','2'=>'texte_3','3'=>'texte_4') ) ; ?>
    Alors il suffit d'ajouter @include('nomficher.php')et je récupère mes valeurs enregistrés au prochain chargement de fichier

    c'est aussi possible avec serialize mais elle consomme énormément d'espace et je ne sais pas si c'est possible avec print_r

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Tu peux utiliser serialize() car c'est prévu exactement pour cela. Est-ce que la taille occupée est réellement un problème ? Tu récupères ensuite la variable avec unserialize()
    cf. http://fr3.php.net/manual/fr/languag...ialization.php

    Sinon, tu peux aussi utiliser json_encode() qui te renvoie du code JSON (donc Javascript), que tu récupères ensuite avec json_decode()

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Montor, il serait bon dans ta signature de rappeler aussi qu'un bon programmeur use et abuse des commentaires.
    Ça aurait par exemple pu aider à lire ton code...
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

Discussions similaires

  1. Réponses: 16
    Dernier message: 27/03/2014, 11h20
  2. Réponses: 1
    Dernier message: 07/06/2011, 13h26
  3. Enregistrer une variable dans un fichier texte
    Par xunil2003 dans le forum Langage
    Réponses: 5
    Dernier message: 19/10/2009, 15h59
  4. [RegEx] Pb enregistrement contenu d'1 variable dans un fichier
    Par Stardust69 dans le forum Langage
    Réponses: 9
    Dernier message: 20/05/2008, 11h15
  5. Réponses: 13
    Dernier message: 14/06/2003, 22h15

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