Сессии удаление...

  • Автор темы Автор темы Zahar
  • Дата начала Дата начала

Zahar

Новичок
Сессии удаление...

Мне нужно удалить файлы после того как срок хранения сессии истечет (пользователь сам не отлогиневается) файлы имена фалов индифекаторы сессий.

Я узнал что как-то можно настроить php чтобы он при удалении сессий срок действия которых истек может чистить и другую дерикторию с такими же названиями файлов что и сессии.

КАК ЭТО СДЕЛАТЬ.?
 
Zahar ты сам-то понял что написал? Думаю, что никто другой точно не понял.
 
Zahar
не надо ничего настраивать.
Все уже настроено до нас.
 
кажется товаришь создает временные файлы самостоятельно, а имена этих файлов совпадают с PHPSESSID, но лежат не в session.save_path.

Zahar
Так?

это кстати что еще такое?
(индийские серуны???)
 
Автор оригинала: IntenT
кажется товаришь создает временные файлы самостоятельно, а имена этих файлов совпадают с PHPSESSID, но лежат не в session.save_path.

Zahar
Так?

Да иммено так. Только я создаю директории название, которых совпадают с PHPSESSID. Затем туда аплоядяться файлы этого пользователя, но если он не отлогиневается самостоятельно директория с файлами остаётся.
Можно ли без использования cron заставить php убивать эти директории как он убивает и сессии, срок которых истек.


это кстати что еще такое?
(индийские серуны???)
 
Zahar
Тогда удаляй файлы и директории самостоятельно.
ЧТобы не нагружать скрипт - вынеси сборку мусора отдельным скриптом, который запускай по крону.
Удаляй те папки и файлы в них, для которых время последнего доступа меньше чем текущее время минус время жизни сессии
 
Intent:

Одна сессия может длиться дольше, чем время жизни сессии: допустим, сессия живет 30 минут, я захожу на сайт, загружаю файл в эту временную директорию, затем через каждые 29 минут обновляю страницу, и моя сессия не убивается, а с временной директорией я больше не работаю, то есть разница между временем последнего изменения директории и текущим временем будет горзадо больше нежели время жизни сессии. И что же - мои файлы, получается, благополучно поудаляются?

Вопрос к Zahar:

Может быть, есть лучшее решение твоей проблемы? Объясни, зачем ты, собсно, создаешь эти директории?
 
Перечитал.

Я понял твои слова так:
чел записывает в директорию с именем сессионного файла что-то. Затем скриптом, кот. запускается по крону мы проверяем время последнего доступа в
эту директорию. Директории, для кот. разница между этим временем и текущим, меньше времени жизни сессии, удаляются.

Но - я могу сидеть в одной сессии хоть два дня! А в эту самую директорию что-нибудь положить только один раз.

Поясни по поводу 'хни'. Если ты мне докажешь, что я не прав, я с радостью с тобой соглашусь.
 
crocodile2u
Ок, поясняю.. хотя мне это казалось очевидным.

Если файл создается, и надо обеспечить его жизнь как минимум до конца сессии - то достаточно делать touch этого файла при каждом вызове скрипта (это если из файла ничего не читается). Если читается или пишется - то и touch необязателен. Время изменит ось.
 
На мой взгляд, это немаловажная поправка!
Мысль о ней, конечно, сразу же приходит в голову, как только задумаешься над таким алгоритмом удаления мусора, и все же - БЕЗ нее идея полностью нежизнеспособна. Озвучь ты эту иысль сразу - и не было бы вопросов :-).
 
Сверху