如何在固定时间间隔后自动更改服务器中的路径?

时间:2016-05-27 06:08:58

标签: php server filepath

我想要一个唯一的链接从链接下载文件(比如http://arymangupta.hol.es/download/file) 并且在固定的时间间隔(15天或10天)之后,应该更改链接(例如http://arymangupta.hol.es/**AnyRandomString**/file)。

2 个答案:

答案 0 :(得分:1)

首先,您需要在数据库中存储路径,然后在使用时从数据库中获取。 第二件事,如果你想随机改变路径,你应该为数据库中的更新路径运行一个cron作业,无论你需要什么。

答案 1 :(得分:1)

我不会给你完整的代码,但程序非常简单:首先,将原始路径存储在数据库中。

+----+-------------+----------------+---------------------+
| id | token       | path_to_file   | date                |
+----+-------------+----------------+---------------------+
| 1  | abcdefghijk | /path/file.pdf | 2016-05-27 00:00:00 |
+----+-------------+----------------+---------------------+

然后:

  • 创建cronjob以刷新已过期的令牌
  • 创建一个脚本,给定令牌将使人们能够下载文件

要隐藏真实文件路径,可以使用readfile() php函数。

if (file_exists('/path/file.pdf')) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}