Enregistrer du code php dans un fichier php

rescue Messages postés 1047 Statut Contributeur -  
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,

Alors voici mon problème :
Je voudrais faire apparaître dans un fichier.php un code php généré a la volé.

Problèmatique :
Comment garder ce code au complet dans un autre fichier php généré avec les fonctions fopen() , fwrite() sans perdre une double quote, un crochet ou un dollars:

echo "<td>".$rech_$var_table[$var_table]."</div></td>";


Merci.



Nul ne peut prétendre se connaître parfaitement car la conscience n'est que la partie émergée de l'iceberg. Sigmund Freud

3 réponses

  1. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    Ecrire du code php dans un fichier a la volée, n'est en général rarement une bonne solution.
    Quoi qu'il en soit, tu peux ecrire ce que bon te semble il te suffit d'échapper les caractères avec un \ :
    <?php 
    $var1 = 'toto'; 
    var_dump(file_put_contents('./myfile.txt', "some data $var1"  )); // écrit : some data toto 
    var_dump(file_put_contents('./myfile.txt', "some data \$var1"  )); // écrit : some data $var1 
    ?> 
    

    On notera qu'il faut échapper dans ce cas car tu es dans des doubles quotes, sinon :
    <?php 
    $var1 = 'toto'; 
    var_dump(file_put_contents('./myfile.txt', 'some data $var1'  )); // écrit : some data $var1 
    ?> 
    
    0
  2. rescue Messages postés 1047 Statut Contributeur 136
     
    Bonsoir,

    Je te remercie de t'intéresser à mon problème.
    Pour les anti-slashes j'étais au courant ce qui m'embête ce sont les crochets.
    Si tu as une solution je suis preneur.

    En ce qui concerne ma méthode d'écrire php à la volé c'est uniquement pour une application en locale sur un serveur d'entreprise (en intranet).

    merci.
    0
  3. Zep3k!GnO Messages postés 2049 Statut Membre 200
     
    Bin, c'est le même principe du coup, par exemple :
    <?php
    $var =array('value1', 'value2', 'value3');
    file_put_contents('./ccm_result.txt', 'VAR : $var[0]'); //VAR : $var[0]
    file_put_contents('./ccm_result.txt', "VAR : \$var[0]"); //VAR : $var[0]
    ?>
    

    0