2017-07-20 13 views
-2

私は電子メールにビデオリンクを送る必要があるプロジェクトに取り組んでいます。 しかし、このビデオリンクは自動的に3日後に失効し、動画URLは機能しません。 どうすればいいですか? 助けていただければ幸いです。URLを作成するにはどうすればよいでしょう?

+0

トークン、 'expires_at'などのリンクを含むdbtableを持っています。トークンを含むスクリプトにリンクを送信してください。そのスクリプトでトークンでビデオURLを見つけて、日付を確認してからビデオにリダイレクトしてください。(または「遅すぎる」ページ) – Jeff

+0

リンクテーブルに有効期限を追加して、この日付がユーザがリンク – Danielius

答えて

0

あなたのアプリケーションの層(PHP)でそれらを照会することができるように、ビデオIDとデータベースの作成dateTimeを保存する必要があります。

あなたが今、データベーステーブル

-- 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 

のようなものかもしれない奉仕しようとしているあなたのURLの構造、私はこれを書いている時間によって異なりますdomain/videos.php?video_id=123456がサービスされ、domain/videos.php?video_id=123457が期限切れになりました

+0

をクリックした瞬間の日付は私にとって非常に有益です。 –

+0

@UmarShahzadあなたはようこそ –

関連する問題