PHP Prob mit fopen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Prob mit fopen

    Also, ich wollt mal fragen, wie ich den in PHP eine Datei öffne um die darin enhaltenen Variablen im aktuellen Dokument zu verwenden. Ich hab die Datei mit fopen("datei.dat", "r") geöffnet, aber er liest die Variablen nicht aus. Diese wollte ich mit echo $variable in das Dokument einbinden.
    Was hab ich falsch gemacht?
    Ach ja, noch `ne Frage:
    Welchen encypte type muss ich verwenden, damit Absätze und Leerzeichen aus einer Textarea übernommen werden?

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

  • #2
    Poste doch mal deinen Text ... oder einen Teil davon, damit hier erst mal klar wird, was für Variablen du meinst.

    Vorher schau dir aber besser mal bei http://www.php.net/manual die Definitionen von parse_url und eval an.


    -=* Titus *=-
    | php pro |
    |nerd for life|
    """""""""""""""

    the PHP resource

    Kommentar


    • #3
      Also, ich hab 2 Dateien:
      1. variables.dat: In dieser Datei werden die Inhalte der Variablen in dieser Form gespeichert: $variable = "Inhalt";
      2. conf.dat: Von dieser Datei aus kann man den Inhalt der Variablen in der Datei variables.dat ändern.

      Jetzt lautet meine Frage: Wie kann ich das bewerkstelligen?

      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        Zum Auswerten einfach

        eval (implode ('', file('variables.dat')));

        bzw.
        $f = fopen ('variables.dat',r);
        eval (readfile ($f, filesize ('variables.dat')));
        fclose ($f);

        zum Ändern liest du dir am sinnigsten die Variablen in ein Array:
        $maxlen =4096; // oder wieviel Zeichen du halt brauchst
        $f = fopen ('variables.dat',r);
        $vars = array();
        while (!feof($f)) {
        fscanf ($f, '$%s=%d\n', $key, $val);
        $vars[trim($key)]=trim($val);
        }
        fclose ($f);
        dann kannst du mit $var[name] = wert; alle zu ändernden Variablen setzen und deine Datei überschreiben.


        Vorsicht bei mehreren gleichzeitigen Zugriffen!
        Die kannst Du verhindern, indem du zB während des Änderns eine Datei 'variables.lock' anlegst und sie nach dem Schreiben löschst. Zusätzlich prüfst du vorher, ob variables.lock existiert; wenn ja, ist halt gerade kein Schreibzugriff möglich.
        Man kann auch noch die filetime('variables.lock') überprüfen, ob vielleicht eine Änderung abgebrochen wurde (durch timeout, Schliessen des Browserfensters, Server-Absturz etc.)


        -=* Titus *=-
        | php pro |
        |nerd for life|
        """""""""""""""

        the PHP resource

        Kommentar

        Lädt...
        X