Есть ли способ добавить код в PHP, чтобы срок действия файла истек через несколько дней, которые я указал?
Например, я разработал сценарий PHP для клиента, и этот сценарий действителен в течение 365 дней, и я хочу, чтобы срок действия сценария истек через 365 дней и отображалось пользовательское сообщение.
Конечно, я буду кодировать файл PHP.
Есть ли код, который я могу в один PHP без дополнительных файлов, чтобы добавить дату истечения срока действия файла?
Спасибо
PHP способ сделать это — просто поставить галочку в верхней части скрипта:
$expired = (time() > strtotime('2016-09-06'));
if ($expired) {
// Do something, like output an error
die();
}
Вы можете сделать это более изощренным, проверив достоверность через удаленный вызов на ваш собственный сервер, но в конце я бы сказал, что ваша большая проблема в том, что эта проверка легко может быть удалена вашим клиентом, если у него есть исходный код. Вы говорите, что «закодируете» (зашифруете?) Сценарий, но я не знаю ни одного реального способа сделать это в PHP, поскольку это язык сценариев (лучшее, что вы, вероятно, сможете сделать, — это запутать его).
использование 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)";
}
Чрезвычайно простым способом было бы define
константа в качестве текущей даты, чтобы начать обратный отсчет, по моему мнению, хранить это как UNIX TIMESTAMP. Тогда используйте time()
в верхней части сценария PHP и сделать if
утверждение как:
if ((time() - 31536000) > START_TIME)) {
//31536000 seconds in 365 days
throw new TimePassedException;
}
Или вы можете использовать date()
или же strtotime
отформатировать ваш выбор для хранения времени / даты.
Первое, что вы хотели бы сделать, это найти количество прошедших дней. Эта часть была дана ответ здесь Дата истекла в php
Теперь, если вывод начинает поступать как положительный, это означает, что вы можете начать показывать пользовательское сообщение. Для этого вы можете использовать
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);
?>