PHP скрипт на основе загрузки времени - PullRequest
0 голосов
/ 23 сентября 2010

Мне поручено создать веб-сайт, но одно из требований сводит меня с ума.

Мне нужно создать (или найти) скрипт на основе php, который позволяет пользователю войти в домен, загрузить html-файл (+ изображения или аудиофайлы), а также указать дату, когда html-страница будет быть доступным? например. Это позволяет пользователю загружать несколько файлов перед выходным, чтобы они автоматически высвобождались в правильные дни загрузки без взаимодействия пользователя с доменом.

Есть большая вероятность, что мне придется одновременно обращаться к базе данных mysql для индексации поиска с помощью ajax, как только страница станет доступной.

У меня есть идея, как создать php-скрипт, «загрузить файлы в tmp dir», но я не уверен, как выполнить команду, чтобы впоследствии переместить их в правильные каталоги на основе даты / времени. пожалуйста, сообщите.

Сервер будет работать на Ubuntu-Server или CentOS.

Ответы [ 2 ]

1 голос
/ 23 сентября 2010

Я буду считать, что:
1. у каждого пользователя есть определенная папка;
2. в базе данных будет хотя бы запись с пользователем и датой / временем, чтобы быть живым;

Вы можете сделать это так:

Когда пользователь загружает файлы, вы можете сразу же переместить его в свою папку.
Если это первый отправленный файл, создайте в папке пользователя файл index.php, который проверит, не превышает ли запрашиваемое время запись из базы данных. Если да, перенаправьте браузер в HTML-файл (или что-то еще).
Убедитесь, что файл, загруженный пользователем, не называется index.php. Если да, переименуйте его файл как-нибудь еще и в своем сгенерированном индексе сделайте перенаправление на новое имя.

1 голос
/ 23 сентября 2010

Если ваш сервер поддерживает cron, вы можете настроить короткий bash-скрипт для копирования списка файлов (в качестве аргументов) в каталог.

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

РЕДАКТИРОВАТЬ: я забыл упомянуть(Я не уверен, сколько у вас опыта, поэтому извиняюсь, если это очевидно!), Когда вы загружаете файлы, вы хотите сохранить что-то в базе данных, например, «file, date_to_move, complete», где fileэто имя файла, date_to_move будет меткой времени mysql для даты, которую нужно переместить, а завершенное значение будет логическим, поэтому вы можете сократить ваши потенциальные результаты запроса, например:переместить так, чтобы все перемещенные файлы были завершены = 1.

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