как читать файлы сессий?

DiMA

php.spb.ru
Команда форума
как читать файлы сессий?

Есть файл сессии. В файле может храниться от 1 и более переменных. Если там всего одна переменная, то делаю unserialize(текст_файла) и получают в мою переменную то, что было в сессии. Но если там 2 и более переменных, то приходтся партсить файл для нахождения конца кодирования первой переменной. Как бы лекго получить все эти кодированные записа по отдельности, чтобы через unserialize распаковать и показать на экране? Я тут придумал варианты, но они все не научные.

1. парсить самому (не хочется изобретать самому, нет ли готового примера?)
2. сделать цикл, чтобы выдавать 1, 2, 3... х байт для serialize до тех пор, пока она наконец выдаст "ок" и распакует строку (на неправильные строки возвращают ошибку)... это явный изврат и долго по времени на больших файлах
3. стартануть нормальную сессию (нельзя, ибо сессии могут не работать)

последний вариант - самый реальный, но вдруг кто подскажет алгоритм парсинга
 

DiMA

php.spb.ru
Команда форума
дополнительно.

Файл сессии, о котором идет речь, не от той программы, что его будет читать. Т.е. некий произвольный (ЧУЖОЙ) файл на диске сервера (или из других источников). Программа должна разделить файл на куски, распаковать с unserislize по кускам и каждый вывести на экран с print_r (вдруг, это массив или еще чего).
 

kvn

programmer
По моему, для этой цели (обмен переменными между прогами) как раз и придумали WDDX Function..
нет?
 

DiMA

php.spb.ru
Команда форума
в общем не нашел я простого способа читать такие файлы..
мне это для phpRemoteView нужно было - php.spb.ru/remview
Сделал вот так:

PHP:
<?
      .......
      $buf=fread($fi,filesize($d.$f));

      if (!function_exists("session_decode")) exit("Sorry, function session_decode() and SESSIONS a disabled");
      session_decode($buf);
      echo "<pre>";
      var_dump($HTTP_SESSION_VARS);
      echo "</pre>";

?>
 
Сверху