Как мне управлять управлением изображениями (загрузка, удаление и т. Д.) В CakePHP? - PullRequest
2 голосов
/ 14 февраля 2009

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

Например, пользователь загружает изображение, но решает ничего с ним не делать и просто покидает сайт. Затем я либо загрузил файл на сервер, либо загрузил его в память сервера, но как узнать, когда можно удалить изображение? Во-первых, я подумал о том, чтобы просто иметь временную папку загрузки, которая периодически очищается, но кажется, что должно быть что-то лучше?

Кстати, я использую cakePHP и MySQL. Хотя изображения хранятся на сервере, в базе данных сохраняется только местоположение.

Ответы [ 5 ]

3 голосов
/ 14 февраля 2009

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

0 голосов
/ 23 марта 2009

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

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

0 голосов
/ 23 марта 2009

Я не уверен, что означает "временная загрузка" в вашем приложении. Файл либо загружен, либо нет, и находится в собственности пользователя. Если пользователь не хочет ничего делать в данный момент, у вас нет другого выбора, кроме как оставить файл там, где он находится.

Что вы можете сделать - это разместить где-нибудь на странице управления изображениями предупреждение о неиспользуемых изображениях, но удаление их самостоятельно кажется плохой практикой (по крайней мере с точки зрения пользователя).

0 голосов
/ 15 февраля 2009

Проверьте время последнего доступа / изменения файла, чтобы увидеть, использовался ли он.

0 голосов
/ 14 февраля 2009

Вы можете попытаться как-то определить «сессию» и дать пользователю некоторую информацию о ней. Например, в SO появляется всплывающее окно, когда вы начинаете ответ, но пытаетесь покинуть сайт (и ваш ответ будет потерян). Вы можете сделать то же самое и удалить загруженное изображение, если пользователь продолжит. Конечно, вы все равно можете использовать тайм-аут или некоторые другие правила (максимальный размер папки изображений и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...