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