[PHP] Werte von Variablen in Datei speichern [vermutlich erledigt]

vPriVate

********et
25 April 2006
206
14
Hiho!

Bin grad nen bissl am Verzweifeln... ich möchte Variablen (bzw. deren Werte) in einer externen Datei abspeichern, die mit auf dem Webspace liegt. Problem: es soll KEINE .txt oder sonstige Klartext-Datei werden!

Beispiel:
Ein Admin kann in seinem Admin-Webinterface die komplette Seite online oder offline schalten. Dafür hat er ne Dropdown-Liste mit online und offline zum Auswählen. Er wählt aus, und klickt auf nen Button "Speichern" und der Wert $site_status = "offline" wird in der config_inc.php abgespeichert. In der config_inc.php selbst stehen nur solche Werte, z.B.
Code:
$site_status = "offline";
$admin_email = "mr@yahoo.com";
$admin_passwort = "meinpasswort";
WIE bitte krieg ich das hin? Einlesen geht mit Include, aber ändern und abspeichern... das versuch ich seit Stunden vergeblich via Google zu finden... Und das alles in ne MySQL-DB will ich auch nicht packen, das gibt zu viel Traffic (wenn z.B. bei jeder Unterseite nachgefragt wird, ob der $site_status = "offline" oder nicht)... Danke für eure Hilfe!!!
 
Zuletzt bearbeitet:
fopen(), fread(), fwrite(), fclose()

Infos wie immer im
fucking.gif
Manual ;)
 
um das nochmal zu verdeutlichen: damit bekomme ich nur klartext-dateien (meines wissens). ich will das aber in eine .php-Datei schreiben, wo richtig die PHP-Tags drinstehen. Und sobald die drinstehen krieg ich das Teil nicht mehr mit fopen auf...
 
meinst du du hast das komplette script in der Datei drin stehn und willst da nur das offline/online austauschen=? da weiß ich net wies geht, aber schreib doch einfach in eine datei $var = "offline"; in eine datei und include die in dein script...das müsste doch einfach möglich sein?
 
es ist nicht webspace bedingt... ich möchte einfach ne datei, siehe:

PHP:
<?php
$var1 = "hallo";
$var2 = "guten tag!";
$var3 = "auf wiedersehen!"
?>
ergo: jemand, der die php-datei direkt aufruft bekommt nur einen leeren bildschirm. mit ner anderen datei kann ich dann aber via include auf var1, var2 und var3 zurückgreifen...

ich habe das ganze VOR dem posten mit fopen getestet... in der .php stand text drin, einmal mit und einmal ohne tags... wo die tags drum waren konnte er den inhalt nicht mehr einlesen... wie soll ich die dann gespeichert kriegen? hat da mal bitte jemand nen beispiel für mich zum testen??? *dem nervenzusammenbruch nahe*
 
wie soll ich die dann gespeichert kriegen? hat da mal bitte jemand nen beispiel für mich zum testen??? *dem nervenzusammenbruch nahe*
Normal eben :roll: :hö:
Code:
[FONT=Courier New][COLOR=#0000bb]$fp[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]=[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]fopen[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]([/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]"test.php"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700],[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]"w"[/COLOR][/FONT][FONT=Courier New]);
[/FONT][LEFT][COLOR=#000000][FONT=Courier New][COLOR=#0000bb]fwrite[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]([/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]$fp[/COLOR][/FONT][FONT=Courier New][COLOR=#007700],[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]'<?php'[/COLOR][/FONT][FONT=Courier New][COLOR=#007700].[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]"\n"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]);
[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]fwrite[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]([/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]$fp[/COLOR][/FONT][FONT=Courier New][COLOR=#007700],[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]'$var1 = "hallo";'[/COLOR][/FONT][FONT=Courier New][COLOR=#007700].[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]"\n"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]);
[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]fwrite[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]([/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]$fp[/COLOR][/FONT][FONT=Courier New][COLOR=#007700],[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]'$var2 = "guten tag!";'[/COLOR][/FONT][FONT=Courier New][COLOR=#007700].[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]"\n"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]);
[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]fwrite[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]([/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]$fp[/COLOR][/FONT][FONT=Courier New][COLOR=#007700],[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]'$var3 = "auf wiedersehen!"'[/COLOR][/FONT][FONT=Courier New][COLOR=#007700].[/COLOR][/FONT][FONT=Courier New][COLOR=#dd0000]"\n"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]);
[/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]fclose[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]([/COLOR][/FONT][FONT=Courier New][COLOR=#0000bb]$fp[/COLOR][/FONT][COLOR=#007700][FONT=Courier New]);[/FONT] [/COLOR][/COLOR][/LEFT]
Und wo war jetzt die Schwierigkeit ? :think:
 
und wenn ich die zeile nur ändern will? also var1 von "hallo" auf "moin moin"?
Dann änderst du sie halt eben nur :wall:

Tip: In diesem Fall bietet sich die Verwendung von file() an, weil du dann die Datei gleich zeilenweise vor dir hast, um sie zu bearbeiten.
 
@theHacker
meinst du wirklich ich hätte jetzt gesagt string"" weil man mit str_replace einfach ersetzten kann ist doch nur offline/online. Bevor man alles mit ner while durchgeht.
 
also wenn ich mal überlege, was ich noch alles vorhabe in sachen php... dann darf man das von heute keinem erzählen... ich hake das mal als "denkblockade" ab :ugly:
ich werds mal versuchen... DANKE EUCH!
 
was ist anner datenbank abfrage so schlimm? der overhead der dadruch entsteht ist minimal... und wenn der query cache aktiv ist, dann brauch mysql garnix mehr machen (jedenfalls fast, es muss nur nen hash erzeugt werden und dieser im arbeitspeicher gesucht werden).

und wenn man wenigstens ein müh ordnung in seine konfigurations daten bringen würde... zb durch arrays, dann wäre dass genau 1 zeile zum auslesen.
PHP:
$config = mysql_fetch_assoc(mysql_query('SELECT * FROM config'));
(und hier soll mir einer was von * erzählen ;) ) natürlich ist dass eine sehr primitive und eingeschränkte lösung. es gibt zich möglichkeiten diese zu verfeinern...
und falls man will könnte man noch was basteln was die einstellung in einer php datei cachet. so alla
PHP:
$fp = new file_handler('blub.php');
$fp->fwrite('<?');
foreach($config AS $key => $value) $fp->fwrite('\${$key} = \'$value\';');
$fp->fwirte('?>');
$fp->close();