2016-07-11 7 views
0

私はPHPから新しいPHPファイルを作成しようとしています。PHPでPHPファイルを書く

私の最後のPHPファイルは次のように見なければならない

<? 
    $text_1 = "Text"; 
    $text_2 = "Banana"; 
?> 

実際にそれを生成するために私のPHPは以下の通りです:

$file = fopen("../lang/_____fr-CA.php", "w") or die("Unable to open file!"); 

<? 
    $datas .= '$text_1 = "Text"; \n '; 
    $datas .= '$text_2 = "Banana"; \n '; 

    $datas = nl2br("&lt;? \n".$datas."\n ?&gt;"); 

    fwrite($file, $datas); 
    fclose($file); 
?> 

私の問題が発生したPHPは次のよ​​うになります:

&lt;? <br /> 
$text_1 = "Text"; \n$text_2 = "Banana"; \n<br /> 
?&gt; 
+1

あなたは下のリンクをチェックしてくださいすることができ:[http://stackoverflow.com/questions/3066421/writing-a-new-line-to-file-in-php](http://stackoverflow.com/questions/3066421/writing-a-new-line-to-file-in-php) –

答えて

0

あなたが望むデータを記述する必要があります。あなたの場合は、HTMLを書いています。正確なPHPコードを記述する必要があります。 nl2brは必要ありません。また、newlines must be in double quotesを理解する必要があります。最後に、?>はオプションで、純粋なPHPファイルでは省略することをお勧めします。

$datas = "<?php \n" . 
    '$text_1 = "Text"; ' . "\n" . 
    '$text_2 = "Banana";'; 
fwrite($file, $datas); 
+0

あなたは私をたくさん助けます。ありがとう。 – roberto

0

\nを二重引用符で囲む必要があります。行として評価されません。一重引用符で囲みます。

互換性の目的で、短いオープンタグ<?を使用しないでください。<?phpのみを使用してください。

0

あなたはあなたのファイルの書き込みにヒアドキュメントのようなより多くの「エレガント」な方法を使用することができます。

<? 
    $datas <<<eof 
<?php 
    $text_1 = "Text"; 
    $text_2 = "Banana"; 
?> 
eof; 

    fwrite($file, $datas); 
    fclose($file); 
?> 
+0

可能ならば、私はHeredocを使わないでください。それはコード化するためのひどい方法です。 – Machavity

+0

なぜそれを言っているのですか?あなたがファイルのコードを書く必要があるならば、Heredocははるかに明確になります。もちろん、heredocという名前はすべてそれを示しています:https://en.m.wikipedia.org/wiki/Here_document私がそれを言うならば、確かにheredocはもっと正しい道です。 –

+0

最大の欠点は、heredocをインデントできないことです。関数内であっても。私はあなたを憎んでいない(私はそれをdownvoteしなかった)、私はちょうどそれをお勧めしません – Machavity