Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> созданные сессией временные файлы, как их удалять? 
:(
    Опции темы
href
Дата 6.1.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Для каждой сессии я создаю временную папку с именем сессии и в ней временные файлы для этой сессии. При разрушении сессии нужно удалять эти папки с файлами, чтобы не захламлять сервер. Как быть?
Есть вариант удалять такие папки не по завершению сессии, а при старте новой - проверять существование одноимённых с папками сессий, но непонятно можно ли это делать и как?
PM MAIL WWW ICQ Skype GTalk   Вверх
pnd_ku
Дата 6.1.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 25.9.2006

Репутация: 1
Всего: 1



Привет!!
Файлы пхпшных сессии в темповой папке так и удаляются.
При создании новой сессии проверяються уже созданные, и если она не активна, то файл сессии удаляется. Эти настройки есть в пхп.ини, то есть условия удаления старых сессий.
А если ты к каждой сессии создаёш ещё и папку с темповыми файлами, то чтобы обойтись малой кровью без создания журнала папок, я бы сделал так: при старте сессии записывал бы в темповую папку файл с временем, когда сессия точно будет не активна (ставиш например time()+60*60*24*7).
Потом при старте новой сессии проверяеш все файлы с этим временем, и если оно превысило лимит - удаляеш папку. В зависимости от трафа на твоём сайте можеш регулировать время жызни сессии.
PM MAIL   Вверх
Mal Hack
Дата 6.1.2007, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



pnd_ku, автор сам реализовывал механизм сессий.

href, делать механизм сессий через БД, где есть поле время последней активности. По истечении определенного срока таблицу, по условиям этого поля, чистить.
PM ICQ   Вверх
pnd_ku
Дата 6.1.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 25.9.2006

Репутация: 1
Всего: 1



ну не важно, я же написал что наманый вариант при каждом создании сессии проверять старые и удалять их за ненадобностью
PM MAIL   Вверх
Mal Hack
Дата 6.1.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



А как ты узнаешь про старые?
Если юзер грохнул куки, то ему будет создана НОВАЯ сессия.
PM ICQ   Вверх
pnd_ku
Дата 6.1.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 25.9.2006

Репутация: 1
Всего: 1



а это уже зависит от того как у него орзанизованны сессии впрницыпе,  и имееца ли вообще возможность сессии сохранять после закрытия браузера.
Если нет, то я уже предложил вариант. Кстати даже если да, то вариант тоже канает.
Например даём сессии вариант жить максимум неделю без хозяина.
Когда создаём сессиию в фолдер с темповыми файлами записываем файлик со временем, когда сессия будет неактивной.
Потом при создании каждой новой сессии проверяем все другие, и если они старше чем макс время жизни, то удаляем их, а если залогинился автор сессии, то меняем файли со временем жизни ещё на неделю вперёд.
Удаление старых моан в крон записать чтобы юзера не мучать при большых потоках
PM MAIL   Вверх
href
Дата 6.1.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Можно, конечно, в моём случае смотреть дату/время создания временной папки сессии и удалять, если она слишком уж зажилась на этом свете... А нет ли способа, всё-таки, по имени сессии определить, жива она или нет, или отследить как-либо событие завершения сессии?
PM MAIL WWW ICQ Skype GTalk   Вверх
Mal Hack
Дата 6.1.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(href @  6.1.2007,  17:49 Найти цитируемый пост)
А нет ли способа, всё-таки, по имени сессии определить, жива она или нет, или отследить как-либо событие завершения сессии? 

Нет, поэтому механизм сессий надо реализовывать через БД... Чистить легче.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0662 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.