4 Stimmen

PHP-Code in eine Datei schreiben

Ich frage mich, ob es möglich ist, php-Code in eine Datei zu schreiben. Zum Beispiel:

fwrite($handle, "<?php $var = $var2 ?>");

Ich möchte, dass die exakte Zeichenfolge in der Datei und nicht der eval'ed-Code ausgegeben wird. Ist dies möglich?

Ich erhalte derzeit die folgende Ausgabe (mit $var = 1 und $var2 = 2):

<?php 1 = 2 ?>

Ich hingegen möchte die eigentliche Zeichenfolge:

<?php $var = $var2 ?>

Danke für die Hilfe

19voto

Joey Punkte 329386

Sie können einfache Anführungszeichen anstelle von doppelten Anführungszeichen verwenden, die Inline-Variablennamen nicht erweitern:

fwrite($handle, '<?php $var = $var2 ?>');

4voto

perrohunter Punkte 3227

Lassen Sie einfach das $-Symbol weg

<?php
fwrite($handle, "<?php \$var = \$var2 ?>");
?>

3voto

stefs Punkte 17901

Strings mit doppelten Anführungszeichen werden für Variablen geparst, und der Wert der Variablen wird an dieser Position eingefügt. Ich nehme an, dass dies daran liegt, dass PHP ursprünglich als eine dünne Webserver-Datenbank-Templating-Schicht konzipiert wurde.

Ich persönlich mag das nicht und verwende deshalb nie doppelte Anführungszeichen. Stattdessen verwende ich immer einfache Anführungszeichen und eine String-Konzentration:

<?php echo 'hello, ' . $name; ?>

tut dasselbe wie:

<?php echo "hello, $name"; ?>

einfache Anführungszeichen: Syntaxfärbung funktioniert besser, ist (geringfügig) schneller und Fehler werden leichter gefunden

0voto

mozboz Punkte 963

Dies hat nichts mit der Datei io zu tun. Lesen Sie mehr über Variablensubstitution und Escaping in Strings in PHP.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X