有没有办法在PHP中添加一些代码以使文件在我指定的几天后过期?
例如,我为客户端设计了一个PHP脚本,这个脚本有效期为365天,我希望脚本在365天后过期并显示自定义消息。
当然我将编码PHP文件。
我是否可以将任何代码放入单个PHP中而无需在文件中添加过期日期的附加文件?
谢谢
答案 0 :(得分:1)
$from = strtotime(filectime('yourfile.php'));// for linux use filemtime
$today = time();
$diff= $today - $from;
if(floor($diff/ (60 * 60 * 24)) > 365)
{
echo "File expired (365 days)";
}
答案 1 :(得分:0)
PHP的做法是在脚本的顶部放一个这样的支票:
$expired = (time() > strtotime('2016-09-06'));
if ($expired) {
// Do something, like output an error
die();
}
你可以通过远程调用你自己的服务器检查有效性来更加看中它,但最后我会说你的更大问题是如果他有源代码,你的客户很容易删除这项检查。你说你会"编码" (加密?)脚本,但我不知道在PHP中有任何真正的方法可以做到这一点,因为它是一种脚本语言(你可能做的最好的就是混淆它)。
答案 2 :(得分:0)
一种非常简单的方法是将define
一个常量作为开始倒计时的当前日期,在我看来将它存储为Unix TIMESTAMP。然后使用PHP脚本顶部的time()
并执行if
语句,如:
if ((time() - 31536000) > START_TIME)) {
//31536000 seconds in 365 days
throw new TimePassedException;
}
否则,您可以使用date()
或strtotime
格式化您选择存储时间/日期。
答案 3 :(得分:0)
您要做的第一件事就是找到经过的天数。该部分已在此处得到解答Date elapsed in php 现在,如果输出开始变为正,则意味着您可以开始显示自定义消息。为此你可以使用
die("custom message here");
die也将在该点之后停止执行任何脚本
答案 4 :(得分:0)
$Today = date('y:m:d');
$connect = mysqli_connect("localhost", "root", "root", "kiotchamber");
$query = "SELECT * FROM instantnews where expired_date >='$Today' ORDER BY id DESC LIMIT 0,5";
$result = mysqli_query($connect, $query);
?>