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