Sorgenkind Mech: eine Dati "leeren"

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ß

  1. 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

  2. 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

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
    1. Hallo und guten Morgen,
      da sind sie wieder, meine Sorgen...

      jep, genau die ... moin

      1. "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

      1. 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ß

      1. 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

        --
        Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
        1. 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