Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sesja i fukcja session_destroy()
Forum PHP.pl > Forum > Przedszkole
jeremiash
Cześć. Tworzę sesje i podczas wywoływania funkcji session_destroy(), zamiast usunąć plik sesji to jedynie mi go czyści. Jak zrobić, aby wywalało całość?
s1518
  1. unset($_SESSION['zmienna']);
?
jeremiash
Cytat(s1518 @ 7.12.2012, 17:31:29 ) *
  1. unset($_SESSION['zmienna']);
?

Z tego co mi wiadomo w ten sposób usuwamy daną zmienną sesyjną a nie sesję. Właśnie po wywołaniu session_destroy() czyści mi/ usuwa wszestkie zmienne sesyjne , ale nie usuwa pliku z identyfikatorem. DOdam, że nie jest to problem przypisania lokalizacji dla sesji, bo wywołuję go do zapisu i usuwania z jednego pliku inicjującego parametry sesji. Jaki więc może być powód ?:/
Sephirus
Nie ma co pisać jak się samemu nie wie.

session_destroy - usuwa wszystkie zmienne sesji - nie usuwa samego pliku bo sesja pozostaje ta sama tylko czysta.

Plik sesji zostanie usunięty gdy zostanie wywołany GC mechanizmu sesji a sesja skojarzona z tym plikiem będzie nieaktualna.

Żeby usunąć plik sesji należałoby po prostu zamiast użyć session_destroy po prostu usunąć ciasteczko z ID sesji a następnie usunąć manualnie plik z katalogu. Katalog w jakim znajdują się pliki znajdziesz dzięki:

  1. echo ini_get('session.save_path');


Sam plik skasujesz poleceniem:
  1. unlink( ini_get('session.save_path') . '/sess_' . session_id());


Oczywiście z odpowiednimi uprawnieniami wink.gif
jeremiash
Cytat(Sephirus @ 7.12.2012, 17:38:25 ) *
Nie ma co pisać jak się samemu nie wie.

właśnie - 's1518' smile.gif

Cytat(Sephirus @ 7.12.2012, 17:38:25 ) *
  1. unlink( ini_get('session.save_path') . '/sess_' . session_id());


Oczywiście z odpowiednimi uprawnieniami wink.gif


Właśnie o to pytałem. Dziękuję Ci bardzo Sephirus. Pozdrawiam
s1518
Wybaczcie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.