как реализовать проверку версии скрипта?

Статус
В этой теме нельзя размещать новые ответы.

avgaz

Участник
Регистрация
18 Окт 2006
Сообщения
189
Реакции
7
В общем суть в следующем есть скрипт который распространяется под версиями нужно реализовать проверку версии с актуальной(номер версии на сервере где скачивается скрипт) как лучше сделать??
Для примера у пользователя установлена версия 0.1 а для скачивания уже доступна 0.3 как уведомить пользователя в админке об этом?
 
ты наверное удивишься )
PHP:
<?php
echo ' Обновите версию скрипта, актуальная версия доступна по адресу http:/// ';
?>
в чем вопрос то ?

Заводишь в теле скрипта константу с номером версии и константу с скриптом- выдающим актуальную версию.
Периодически скачиваешь файл с номером актуальной версии - сравнваешь, при неообходимости выводишь сообщение.
 
Вопрос в том как сделать как в IPB в админке что установлена и доступна ужу актуальная понятно как получить текущею установленную, как получить актуальную с сервера и сравнить их??
 
я админку ipb не видел =)

1) как получить текущую?

заведи в теле скрипта константу
define(CURRENT_VER,123);
2) как получить актуальную ?
скрипт сервера отдает например
PHP:
<?php
echo serialize(array('ver'=>'125'));
?>
ты у себя соответственно
PHP:
$txt=file_get_contents('http://урл скрипта');
$arr=unserialize($txt);
$actual_ver=$arr['ver'];
3) как сравнить ?

PHP:
if ($actual_ver>CURRENT_VER) echo '...';


я так и не понял в чем траблы ?

PS расстановка знаком препинания - как свежее дыхание = облегчает понимание
 
PHP:
$data = @file_get_contents("http://site/updates.php?version_id=".$_REQUEST['versionid']);

if (!strlen($data)) echo "Вы используете последнюю версию"; else echo $data;
 
Сделал через @fsockopen читается файл ver.txt

Теперь встал вопрос как реализовать учет с каких сайтов запрашивается этот файл??
 
Варианта два
1) при запросе номера версии передавать параметр в котором содержится урл сайта
2) а вдминке создать например картинку с адресом скрипта учета на твоем сервере - тогда при каждом запросе ты по рефереру сможешь отслежитьвать по по какому урлу находится админка и сайт
 
Варианта два
1) при запросе номера версии передавать параметр в котором содержится урл сайта
2) а вдминке создать например картинку с адресом скрипта учета на твоем сервере - тогда при каждом запросе ты по рефереру сможешь отслежитьвать по по какому урлу находится админка и сайт
Если не сложно можно примеры обоих вариантов у меня реализовано так запрос версии
PHP:
if ($fsock = @fsockopen($host, $port, $errno, $errstr, $timeout))
    {
        @fputs($fsock, "GET $directory/$filename HTTP/1.1\r\n");
        @fputs($fsock, "HOST: $host\r\n");
        @fputs($fsock, "Connection: close\r\n\r\n");

        $file_info = '';
        $get_info = false;

        while (!@feof($fsock))
        {
            if ($get_info)
            {
                $file_info .= @fread($fsock, 1024);
            }
            else
            {
                $line = @fgets($fsock, 1024);
                if ($line == "\r\n")
                {
                    $get_info = true;
                }
                else if (stripos($line, '404 not found') !== false)
                {
                    $errstr = "Error $filename";
                    return false;
                }
            }
        }
        @fclose($fsock);
    }
 
1)
вместо ver.txt читай вывод скрипт ver.php который будет выводить тебе содержимое ver.txt

а обращение при чтении актуальной версии:
Код:
$url='http://...../ver.php?host='.base64_encode('SCRIPT_NAME');
и уже по этому урлу читай актуальную версию
А твой скрипт ver.php - анализирует метр и записывает в лог

2) примерно тоже самое
создай картинку в коде
Код:
<img src='http:// твой сервер / скрипт учета .php'>
можешь зануть в низ страницы и задать размер 1x1

а в скрипте учета проверяй $_SERVER['HTTP_REFERER'] - тамбудет адрес админки
 
1)
вместо ver.txt читай вывод скрипт ver.php который будет выводить тебе содержимое ver.txt

а обращение при чтении актуальной версии:
Код:
$url='http://...../ver.php?host='.base64_encode('SCRIPT_NAME');
и уже по этому урлу читай актуальную версию
А твой скрипт ver.php - анализирует метр и записывает в лог



а в скрипте учета проверяй $_SERVER['HTTP_REFERER'] - тамбудет адрес админки

Что то я в обще не догнал как это реализовать можно пример содержания этого ver.php
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху