Проверка версии PHP-скрипта / Уведомление - PullRequest
7 голосов
/ 25 октября 2008

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

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

Ответы [ 4 ]

15 голосов
/ 25 октября 2008

Для указания второго (более простого) решения 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
2 голосов
/ 26 января 2011
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>";
}
2 голосов
/ 25 октября 2008

За комментарии к этот ответ

// 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];
}
0 голосов
/ 25 октября 2008

RSS или Atom feed с информацией об обновлении. Wordpress делает нечто подобное. Затем вы можете локально сохранять информацию, какие обновления были показаны пользователю и т. Д.

Для еще более простого решения, на сайте проекта есть файл, который будет содержать только номер версии. Затем сравните его с номером версии, хранящимся в вашей программе, вероятно, в константе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...