Как я могу проверить версию моего скрипта по онлайн-файлу, чтобы узнать, последняя ли это версия?
Для пояснения я говорю о написанном мной скрипте, а не о версии PHP. Я хотел бы включить способ, позволяющий конечному пользователю узнать, когда я обновил сценарий.






Есть RSS или Atom кормить с информацией об обновлении. Wordpress делает нечто подобное. Затем вы можете локально сохранить информацию о том, какие обновления были показаны пользователю и т. д.
Для еще более простого решения создайте файл на веб-сайте проекта, который будет содержать только номер версии. Затем сравните его с номером версии, хранящимся в вашей программе, возможно, в пределах константы.
За комментарии к этот ответ
// Substitue path to script with the version information in place of __FILE__ if necessary
$script = file_get_contents(__FILE__);
$version = SOME_SENSIBLE_DEFAULT_IN_CASE_OF_FAILURE;
if (preg_match('/<!-- Script version (\d*(\.\d+)*) -->/', $script, $version_match)) {
$version = $version_match[1];
}
Мне это нравится ... Я попробую.
Для уточнения второго (более простого) решения phjr предложил:
Имейте файл version.txt на вашем собственном публичном сервере и включите следующую функцию в развернутый проект / скрипт:
define('REMOTE_VERSION', 'http://your.public.server/version.txt');
// this is the version of the deployed script
define('VERSION', '1.0.1');
function isUpToDate()
{
$remoteVersion=trim(file_get_contents(REMOTE_VERSION));
return version_compare(VERSION, $remoteVersion, 'ge');
}
version.txt должен содержать только самый последний номер версии, например:
1.0.2
У меня нет голосов в течение следующих 15 часов, но я хочу проголосовать за этот ответ.
Еще одно решение, которое звучит отлично, я тоже попробую это.
define('REMOTE_VERSION', 'http://your.public.server/version.txt');
define('VERSION', '1.0.1');
$script = file_get_contents(REMOTE_VERSION);
$version = VERSION;
if ($version == $script) {
echo "<div class=success>
<p>You have the latest version!</p>
</div>";
} else {
echo "<div class=error>
<p>There is a update available!</p>
</div>";
}
Возможно, вам стоит перефразировать вопрос, чтобы прояснить, нужна ли вам версия скрипта, который вы запускаете, или PHP_VERSION