我怎样才能创建在几天后过期的URL?

时间:2017-07-20 11:04:53

标签: php mysql

我正在开发一个需要向任何电子邮件发送视频链接的项目。 但是此视频链接会在3天后自动过期,视频网址也不会有效。 我该怎么做? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您必须将视频ID及其创建日期时间存储在数据库中,以便您可以在应用程序层(PHP)中查询它们。

您要投放的网址结构可能是这样的

 domain/videos.php?video_id=123456

数据库表

 -- videos table
 +----------+---------------------------+
 | video_id |    creation_datetime      |
 +----------+---------------------------+
 |  123456  |    2017-07-18 14:21:19    |
 |  123457  |    2017-07-16 11:21:50    | 
 +----------+---------------------------+

php脚本videos.php

<?php 
if(empty($_GET['video_id'])){
    die('no video to show');//TODO: proper msg
}
$mysqli = new mysqli("example.com", "user", "password", "database");

$query = "SELECT video_id FROM videos WHERE video_id = ? AND creation_datetime >= ?";
$stmt = $mysqli->prepare($query);
!$stmt ? die('error') : "";
//before 3 days
$stmt->bind_param('ss', $_GET['video_id'], date("Y-m-d H:i:s", time() - 3 * 24 * 60* 60));
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows){
    //give the video
}else{
    die('sorry, the video is expired');
}
exit;

现在,取决于我写的时间 domain/videos.php?video_id=123456将被投放并且domain/videos.php?video_id=123457已过期