是否有一种方法可以在PHP中添加一些代码,使文件在我指定的几天后过期?
例如,我为客户端设计了一个PHP脚本,该脚本有效期为365天,我希望该脚本在365天后到期并显示自定义消息。
当然我要编码PHP文件
是否有任何代码,我可以进入一个单一的PHP没有额外的文件,以增加文件的到期日期?
谢谢
use filectime
$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)";
}
PHP的做法是在脚本的顶部加上这样一个检查符:
$expired = (time() > strtotime('2016-09-06'));
if ($expired) {
// Do something, like output an error
die();
}
您可以通过对自己的服务器的远程调用来检查有效性,但最后我想说的是,您更大的问题是,如果您的客户端拥有源代码,则可以轻松删除此检查。你说你将"编码"(加密?)脚本,但我不知道有任何真正的方法在PHP中做到这一点,因为它是一种脚本语言(你可能能做的最好的是混淆它)。
一种非常简单的方法是将define
作为当前日期开始倒计时,将其存储为Unix TIMESTAMP,在我看来。然后在PHP脚本的顶部使用time()
,并执行if
语句,如:
if ((time() - 31536000) > START_TIME)) {
//31536000 seconds in 365 days
throw new TimePassedException;
}
否则,您可以使用date()
或strtotime
来格式化您的选择以存储时间/日期。
首先要做的是找到经过的天数。这部分已经在这里得到了解答现在,如果输出开始为正,则意味着您可以开始显示自定义消息。你可以使用
die("custom message here");
die还将停止该点之后的任何脚本的执行
$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);
?>