PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Code in fwrite?


Bogi
28.08.2004, 15:00:48
Hi!
Ich habe folgendes Prob:
Ich will eine Datei erstellen in die auch gleich der inhalt geschrieben werden soll! der inhalt besteht aber aus php-code und IM php-code befinden sich auch daten, die per url übergeben werden!
d.h.: url = register.php?nick=blabla&mail=mail&kennwort=xyz
Code:

<?php
$fp=fopen("$nick.php","w");
fwrite($fp, INHALT);
fclose($fp);
?>

im inhalt steht normaler php code inklusive $nick $mail und $kennwort, die natürlich in der erstellten datei namens $nick.php mit den übergebenen daten ersetzt werden sollten!
wie kann ich das machen? ich hab grade mit echo""; und print""; rumprobiert, hatte aber keinen erfolg!

bitte um hilfe!
mfg, bogi

p.s.: wie kann ich überprüfen, ob die datei schon vorhanden ist?

Bogi
28.08.2004, 22:04:11
okay, ich habs jetzt hinbekommen! der fehler war, dass ich eben " im code gehabt hab +gg+ die musste ich natürlich mit ' ersetzen!
aber jetzt ist ein weiteres problem!
im code sind auch weitere variablen!
in der erstellen datei werden die variablen dann einfach gelöscht (weil ja kein wert für die variablen übergeben wurde)
wie kann ich verhindern, dass die ersetzt werden???

yozek
28.08.2004, 23:39:10
BEispiel bitte

Bogi
28.08.2004, 23:47:47
Auszug:


<?php
$INHALT = "
<?php

$password = $kennwort;

if (!$_GET[passwd]){ print 'NO PASSWORD ';}
if (!$_GET[song]){ print 'NO SONG ';}
if ($_GET[passwd] == $password) {
......
?>";
$fp=fopen("$nick.php","w");
fwrite($fp, $INHALT);
fclose($fp);
?>


z.b.: $passwort sollte in der generierten datei auch $passwort sein, aber statt $kennwort sollte das übergebene passwort gespeichert werden

verständlich so?


Problem gelöst!!! Escapen natürlich ;)

$variable

mfg, bogi


nächstes problem (die noobs +tztz+):
ich will überprüfen, ob die datei schon existiert!
also hab ichs mal so versucht:

$fp=fopen("$nick.php","r");
if(!$fp)
{
fclose($fp);
programmcode
}
else{
fclose($fp);
datei schon vorhanden
}


falls die datei nicht vorhanden und alles okay ist, erscheint aber auch ein php-spezifischer error, dass das öffnen der datei nicht geklappt hat
Warning: fopen(): Unable to access Nickname.php in /var/home/onlybest4you_com/www/status/register.php on line 71

Warning: fopen(Nickname.php): failed to open stream: No such file or directory in /var/home/onlybest4you_com/www/status/register.php on line 71

wie krieg ich den fehler weg bzw. wie überprüfe ich, ob die datei schon vorhanden ist auf eine andere weise?

mfg, bogi

chris17
29.08.2004, 08:22:45
Moin,
wie krieg ich den fehler weg bzw. wie überprüfe ich, ob die datei schon vorhanden ist auf eine andere weise?
Mit file_exists() (http://de.php.net/manual/de/function.file-exists.php).

Gruß

Bogi
29.08.2004, 12:51:19
ahhh, dankeschöön +gleich ausprobier+