eine Dati "leeren"
Sorgenkind Mech
- php
moinmoin
ich hab folgendes prob:
ich habe eine server.dat, die sieht so aus:
<?php
$server='server';
?>
so, ich will das ganze jetz so machen, dass diese datei per php geändert wird, logischerweise der wert "server"
jetz hab ich mir gedacht, ok, schreibst das ganz einfach in eine zeile, jut
problem: die alten server.dat s haben ja noch 3 zeilen, dass heißt es kommt zu komplikationen, auch wenn zum beispiel der neue wert kürzer als der alte ist
daher will ich die datei vorher komplett leeren, bevor ich reinschreibe ....
weiß jemand wie man des machen könnte?
(könnt das file zwar löschen und neu erstellen, aber das halte ich für unsinnig)
gruß
Hallo Sorgenkind Mech,
daher will ich die datei vorher komplett leeren, bevor ich reinschreibe ....
ich nehme mal an, du schreibst mit fwrite, oder? dann musst du die Datei doch mit fopen öffnen, und dabei kannst du doch einfach ein 'w' verwenden, das Setzt die Länge der Datei auf 0 Byte; also: 'fopen("server.dat","w");' evtl noch ein '+' hinter das 'w' wenn du auch lesen willst. Und dann halt einfach fwrite, und fclose nicht zu vergessen :-)
Grüße aus Nürnberg
Tobias
Hallo und guten Morgen,
da sind sie wieder, meine Sorgen...
1. "leer machen" -> $fh=fopen("dateiname","w+"); und wech sind se, die Daten
2. Empfehlung: Benutze für die Speicherung von Variablen und Datenstrukturen in Low-Level-Dateien die Funktionen serialize() und unserialize().
Das lohnt sich immer schon dann, wenn man später mal wieder was hinzufügen oder weglassen muss. Du musst nur einen einzigen Zugriff machen und alle Variablen stehen Dir wieder mundgerecht zur Verfügung.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo und guten Morgen,
da sind sie wieder, meine Sorgen...
jep, genau die ... moin
- "leer machen" -> $fh=fopen("dateiname","w+"); und wech sind se, die Daten
das is ja einfach .. *grummel* wozu les ichüberhaupt die doku wenn ich eh nur die hälfte lese
- Empfehlung: Benutze für die Speicherung von Variablen und Datenstrukturen in Low-Level-Dateien die Funktionen serialize() und unserialize().
ööhhm .... ja, werd ma schaun was die funktionen machen
aer noch ne andere frage:
if(isset($server))
{
$file=fopen('server.dat','w+');
fwrite($file,"<?php $server=" . $server . "; ?>");
fclose($file);
}
so sieht das jetz aus, problem is natürlich, dass er das erste $serve als variable haben will, die zar existiert, aber das ganze ja als string gemeint is ... ideen? (es ist sicherlich extrem simpel ... *malsoüberndaumenpeilt*)
ansonsten dank an dich und tobi
gruß
Hallo,
Also, wenn $server eine von Dir angelegte Variable ist, die Du wegschreiben willst:
<?PHP
...
if(isset($server))
{
$daten="$server=".$server;
$file=fopen('server.dat','w+');
fwrite($file,$daten; ?>");
fclose($file);
}
dann steht hinterher drin
$server=blablaserver
Wenn drinstehen soll
$server="blablaserver"
dann musst Du
$daten="$server="".$server.""";
schreiben.
Wenn aber nur eine einzige Variable dort drin steht, und dein Programm weiß, welche das ist, dann kannst Du einfach nur die Variable wegschreiben und die nacher aus der Datei wieder laden.
Liebe Grüße aus http://www.braunschweig.de
Tom
re
ach ich hätts wissen sollen ...
naja, jetz funzt es jedenfalls wunderbar .... jetz muss man nich immer diese blöde datei editieren ;)
thx & grüße