Задать вопрос
MiaPlay
@MiaPlay
Учусь PHP, JS, HTML

Как сделать чтобы например каждые две недели значение переменной менялось?

Всем привет!

У меня есть обучающее видео, хочу чтобы ссылка на это видео менялась каждые две недели.

Я сделала страницу по принципу
<?php
if(isset($_GET[$videourl])) { 
echo"
<div>
<video width="640" height="480" controls>
<source src="/files/video.mp4" type="video/mp4">
</video> 
</div>";
}
?>


$videourl это ссылка на страницу с видео.

Как заставить переменную $videourl меняться каждые 2 недели например, и если возможно, чтобы при переходе по ссылке которая уже недоступна, было написано "Данное видео недоступно для просмтра".

Из вводных данных есть дата публикации, можно от нее отталкиваться.

Вообщем, если кто знает посоветуйте как реализовать. Спасибо.
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
Zettabyte
@Zettabyte
Проф. восстановление данных ▪ Вопрос? См. профиль
Не знаю в каком виде у вас хранится дата публикации, но нужна примерно такая конструкция. Набросал для RSS/XML:
$post_time = DateTime::createFromFormat(DateTime::RSS, $item->pubDate);
$expiry_deadline = time() - 1209600; // 2 weeks

if ($post_time->format('U') < $expiry_deadline) {
    // Change or hide video URL
}
Также не забудьте установить time zone либо глобально, либо для $post_time, если время на сервере отличается от нужного.
Ответ написан
@rPman
Например, проверяй, чтобы ссылка на видео содержала параметр, результат целочисленного деления текущего времени timestamp на количество секунд в требуемом сроке (24*3600*7).

А что бы не было возможности это подделать, можно хранить не само значение а его хеш какой-нибудь не сильно слабой хешфункции (md5 считают слабой но для ее взлома требуется прилично ресурсов, если доступ к видео этого не стоит то хватит) плюс секретное значение (его называют 'соль')
if(@$_GET['hash']==md5(SECRET_SALT.(time()/(24*3600*7))))
{
  // разрешить доступ к видео
}

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

Путь к видео в этом случае будет выглядеть как: https://example.com/hash/filename.ext
для веб сервера hash это каталог, а скрипт должен просто создавать эту ссылку на диске на настоящее место размещения файла (в не публичном каталоге естественно).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы