Martin Hein: SESSION-Funktionen ausserhalb

Hallo Forum,

um SESSION-Variablen nach Ablauf der SESSION nutzen zu können,
speichere ich die SESSION-Files in ein anderes Verzeichnis.
Mit den SESSION-Funktionen von PHP kann man relativ komfortabel
auf die Inhalte der SESSION-Dateien zugreifen

z.B. echo $_SESSION['variable'];

Die kopierte Datei ist aber ja nur 'irgendeine Datei', in der
nach einem best. Muster die Variablen als Texte abgelegt werden.
Die müsste ich parsen, um so Variablen und Werte auszulesen.

Hat jemand eine Idee, wie ich die SESSION-Funktionalität
von PHP nutzen könnte, um auf das Parsen zu verzichten ?

beste gruesse,
martin

  1. hi,

    um SESSION-Variablen nach Ablauf der SESSION nutzen zu können,
    speichere ich die SESSION-Files in ein anderes Verzeichnis.

    "Anders" als was?

    Die kopierte Datei ist aber ja nur 'irgendeine Datei', in der
    nach einem best. Muster die Variablen als Texte abgelegt werden.
    Die müsste ich parsen, um so Variablen und Werte auszulesen.

    Hat jemand eine Idee, wie ich die SESSION-Funktionalität
    von PHP nutzen könnte, um auf das Parsen zu verzichten ?

    In dem du sie ganz stinknormal benutzt ...?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi,

      "Anders" als was?

      anders als 'session.save_path'

      In dem du sie ganz stinknormal benutzt ...?

      "benutzen" heisst für mich, dass ich sie mit z.b. "fopen()" öffne,
      um mit z.b. "fgets(") an ihre Inhalte zu kommen. Solange sie im
      'session.save_path' liegt und eine aktive SESSION ist, kann ich
      statt "fopen()" "session_start()" verwenden und statt den Inhalt
      mit "fgets()" usw. auseinander zu bauen, per SESSION['variable']
      an die Inhalte kommen, die mich interessieren. Und das wäre sehr
      viel einfacher, als 'stinknormal' ;)

      hab die Lösung für mich gefunden (vielleicht hilft sie jemand):

      Was geht, ist den 'session.save_path' mit 'ini_set' umzubiegen
      und per 'session_id()' auf die Datei zeige, deren Inhalte mich
      interessieren. Schon kann ich auf die Inhalte der Datei über das
      Array SESSOION[] zugreifen.

      besten dank und

      viele gruesse,
      martin hein

      1. Was nichts weiter ist als die Session "normal", wie du sagst, zu nutzen. Was du in diesem Zusammenhang vielleicht noch suchst wäre unserialize. Du könntest dir eine eigene Funktion schreiben, die ähnlich session_start() dir deinen Ordner als Session in ein Array verfügbar macht.

        Besipielsweise in $GLOBALS['my_session']. Beachte, dass du in diesem Fall aber in einer ähnlichen Variante wie "damals" durch session_register() eine Änderung nicht einfach durch eine Anpassung der Variable erzielen kannst, sondern auch hierzu eine eigene Funktion Bauen musst, die dir den Array-Inhalt neu serialisiert und in deine Datei speichert.

        Dass diese Lösung aber Sinn macht, da man Daten, die du dauerhaft vorhältst auch sehr viel komfortabler speichern kann als in einer einzelnen Datei für jeden (!) Besucher deiner Webseite (egal wie oft er deine Seite besucht) ist wohl naheliegend. Überlege dir zuerst was genau du behalten musst und suche dann eine passende Lösung zur Speicherung dieser Daten.

        Viele Grüße.