Уничтожить файлы, когда сессия уничтожит в php - PullRequest
1 голос
/ 21 июля 2011

возможно ли удалить файлы из папки, когда сеанс уничтожит.Я делаю это, когда пользователь заходит на сайт и может загружать файлы (изображения или текстовые файлы) и т. д. без входа на сайт.и файлы будут храниться в папке моего проекта.Теперь мне нужно сделать, если пользователь выходит из браузера без логина, мне нужно удалить все файлы, которые он загружает в папку проекта.как это сделать?

Заранее спасибо.

Ответы [ 5 ]

2 голосов
/ 21 июля 2011

Вы можете сделать это, внедрив собственный обработчик сеанса. Таким образом, вы можете определить обратный вызов для различных событий, включая уничтожение сеанса. Смотрите эту ссылку для получения дополнительной информации:

http://www.php.net/manual/en/function.session-set-save-handler.php

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

0 голосов
/ 26 ноября 2011

используйте обработчик сохранения набора сеансов , чтобы создать обработчик событий для сеансов.

0 голосов
/ 21 июля 2011

Sriram, в PHP, похоже, сервер не отслеживает сессию на своей стороне.Только время, когда сервер знает о том, что сеанс истек, - это когда он получает информацию о файле cookie сеанса в запросе.Если файл cookie существует или существует в сеансе, срок его действия истек ..

0 голосов
/ 21 июля 2011

с помощью функции unlink ("path") вы можете сделать это в PHP .. но это также зависит от логики, которую вы использовали.

если вы просто хотите удалить загруженный файл, тогда unlink - ваше решение

0 голосов
/ 21 июля 2011

Все зависит от делового решения.

Вы можете сделать: не сохранять файл в папке проектов, а сохранять его в другом месте, например в папке 'tmp', и сохранять ссылку на этот файл (путь к файлу) в сеансе.

...