şöyle bir durum var;
. kullanıcı legal olarak çıkış linkine veya butonuna tıklayarak çıkış yapabilir
. oturum zaman aşımına ugrayabilir
. tarayıcı penceresini bodoslama kapatabilir.
Bu üç durumda da dosyaların silinmesi lazım. İlk durum en basiti,
. eger kullanıcı çıkış yaptıysa, unset($_SESSION['oturumAdi']); unlink($dosyaAdi);
. eger oturum timeout olayını kendin tutuyorsan, yani şöyle ki, kullanıcının sisteme giriş zamanını login oldugunda tutup,her işlem yaptıgında son işlem tarihinin timestamp olarak tutarsan, belli süre işlem yapmadıysa kullanıcıyı timeout edersin, zaten bu da programda kendi kontrolünde olan bir durum. gene kullanıcının oturum süresi dolduysa, dosyaları sildirirsin.
. son durum en komplike durum; şöyle ki kullanıcı bodoslama sayfayı kapattıgında body onunload olayı tetikleniyor, vu sayede bir ajax metodu çagırabilirsin veya bir pop up pencere açtırıp ordan dosyaları sildirebilirsin lakin kullanıcı sayfayı her terkettiginde de bu olay tetiklenir. yani başka bir linke tıkladıgında veya tarayıcı ile ileri geri yaptıgında da en son bu durumdaydı , ama eminim ki javascript ile sayfanın kapandıgını anlamanın yolu vardır.
kısaca bu durumları bir şekilde kontrol edip oturum kapandıgında şu iki fonksiyonla işini halletmek;
unset($_SESSION['oturumAdi']);
unlink($dosyaAdi);
pek kolay olmadı gibi ama en azından ben başka bir yolunu bilmiyorum.
0