• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[PHP] Sonderzeichen und Codes in eine $Variable?

LikeStar

New member
Hallo Community,

bisher läuft Alles nach Plan. Für die Untersützung möchte ich mich bedanken.

mit file_put_contents erstelle ich eine nicht existierende PHP Datei. Funktioniert.

Der Inhalt der PHP Seite ist der Variable $daten festgelegt:

PHP:
$daten ="<?php $lines = file ('../php/textfile.txt', FILE_IGNORE_NEW_LINES); $breaks .... usw. usw. usw.... ?>";

Es wird zwar eine PHP datei erstellt, aber $Variablen werden in der PHP Datei nicht angezeigt, bzw. sind diese nicht mit gespeichert worden.

Dann sieht der Inhalt etwa so aus:

<?php = file ('../php/textfile.txt', FILE_IGNORE_NEW_LINES); .... usw. usw. usw.... ?>
Also ohne die $Variablen.

Muss ich $Variablen kennzeichnen? Also mit Hochkommas? Oder mit irgendwelchen Sonderzeichen?

Vielen Dank.
 
Nein, Stopp, warte mal. Bist du sicher, dass du PHP verstanden hast? Deine Codezeile lässt darauf schließen, dass du noch arge Probleme mit den Grundlagen von PHP hast. Kannst du mir mal erklären, warum du die Zeile so geschrieben hast und was sie deiner Meinung nach machen soll?

Ich nenn dir jetzt mit Absicht noch keine Lösung, ich möchte erstmal eine Antwort auf meine Frage. Nicht böse sein, aber wenn ich dir jetzt einfach eine Antwort gebe, hast du nichts gelernt.
 
@rico2009,

um Gottes Willen. Ich habe logischerweise nur einen Teil des CODES hier reingeschrieben.

Wenn ein Codeschnipsel mit
PHP:
 hier im Forum geschrieben wird, entsteht unnötigerweise ein Absatz. Dafür kann ich leider ich nichts. Das schaut dann möglicherweise unprofessionell aus.

[INLINE]$daten ="<?php $lines = file ('../php/textfile.txt', FILE_IGNORE_NEW_LINES); $breaks .... usw. usw. usw.... ?>";[/INLINE]


Du meinst sicherlich [INLINE]<?php[/INLINE]?  Ist mir schon klar. Aber diese müssen mit rein geschrieben werden. Wie soll sonst die PHP Datei, welche erzeugt wird, funktionieren?

Soll ich diese mit Hochkomma irgendwie "raus" selektieren? Ich kenne diese Begriff hierfür nicht. Sorry.

und [INLINE] .... usw. usw. usw....[/INLINE] - Habe ich ja schon erwähnt, ich poste das Forum nicht voll mit irgendwelchen Codes. Wichtig ist eben, dass man das Anliegen versteht.
 
Zuletzt bearbeitet:
Das habe ich dir doch früher schon mal erklärt: Wenn Du einen String mit doppelten Hochkommas definierst, werden die Variablen darin vom Parser sofort ausgewertet. Hier
http://forum.jswelt.de/serverseitige-programmierung/60668-randomstring-variable-geht.html
war dies genau das was Du wolltest. In deinem jetzigen Vorhaben willst Du das jedoch gerade nicht, sondern das $Variable soll bei der Definition des Strings noch nicht ausgewertet werden, sondern so wie es ist in die neue Datei geschrieben werden. Das heißt, in diesem Fall musst du einfache Hochkommas verwenden.
Du kannst es auch hier nachlesen:
http://stackoverflow.com/questions/...ingle-quoted-and-double-quoted-strings-in-php
 
Zuletzt bearbeitet:
Das habe ich dir doch früher schon mal erklärt: Wenn Du einen String mit doppelten Hochkommas definierst, werden die Variablen darin vom Parser sofort ausgewertet. Hier
http://forum.jswelt.de/serverseitige-programmierung/60668-randomstring-variable-geht.html
war dies genau das was Du wolltest. In deinem jetzigen Vorhaben willst Du das jedoch gerade nicht, sondern das $Variable soll bei der Definition des Strings noch nicht ausgewertet werden, sondern so wie es ist in die neue Datei geschrieben werden. Das heißt, in diesem Fall musst du einfache Hochkommas verwenden.
Du kannst es auch hier nachlesen:
What is the difference between single-quoted and double-quoted strings in PHP? - Stack Overflow

In Ordnung.

echo 'Mein Text $meineVariable';

Es muss mit ' geschrieben werden.

Danke.
 
Ich meinte nicht die Zeilenumbrüche, ich meinte die unnötigen <?php Dinger. Du bist du schon in einer PHP Datei und in einem PHP-Abschnitt, d.h. du kannst einfach:

PHP:
$daten = file('../php/textfile.txt', FILE_IGNORE_NEW_LINES); .... $breaks ....;
schreiben. Alle Daten werden ausgelesen und in $daten gespeichert.

Es seidenn ich hab deinen Codeblock falsch interpretiert. $daten ist doch eine PHP-Variable oder nicht?
 
Zuletzt bearbeitet:
Du bist du schon in einer PHP Datei und in einem PHP-Abschnitt, d.h. du kannst einfach:

Oh Rico. Du hast mich, denke ich, falsch verstanden.

Hier der komplette Code.
PHP:
<?php
$length = 10;
$randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyz"), 0, $length);

$file = "php/$randomString.php";
$current = file_get_contents($file);
$current .= '<?php mein PHP CODE ?>';
file_put_contents($file, $current, FILE_APPEND | LOCK_EX);

include ('index.php');
?>


Schöne Grüße
 
Zuletzt bearbeitet:
Hm, wenn Du einen zufälligen Dateinamen erzeugst, dürfte es dir aber schwerfallen, etwas daraus zu lesen ;-)

Mein Lieber. Ich habe daraus gelernt. Es funktioniert einwandfrei.

'.$randomString.' innerhalb der Variable ließ sich beispielweise wunderbar ausführen.

Alle anderen Variablen habe ich "ausblenden" lassen. Einfach ohne '.
 
Hallo Likestar,
ich glaube, Du hast mich nicht richtig verstanden: Wenn Du einen zufälligen Dateinamen generierst so existiert diese Datei nicht und deshalb dürfte es dir schwer fallen, daraus zu lesen, was Du aber hiermit versuchst: $current = file_get_contents($file);
 
Hallo Likestar,
ich glaube, Du hast mich nicht richtig verstanden: Wenn Du einen zufälligen Dateinamen generierst so existiert diese Datei nicht und deshalb dürfte es dir schwer fallen, daraus zu lesen, was Du aber hiermit versuchst: $current = file_get_contents($file);

Bisher läuft Alles nach Plan. Was soll daran falsch sein?
Schöne Grüße.
 
Zurück
Oben