Главное меню:
Автор | Сообщение |
admin |
#342 30.05.2015 22:23 Т.к имею блог на wordpress я задумался как проходит проверка на обновление покопавшись в движке я так и не узнал как это делается ибо с ООП я не дружу поэтому и сделал альтернативу этой штуке. и так поехали.
1) На сервере своего так сказать главного сайта ( не в движке что будем распространять а у себя) создадим 3 файла api.xml и conf.php и .htaccess В api.xml пишем <?php header("Content-Type: text/xml"); header("Expires: Thu, 19 Feb 1998 13:24:18 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Cache-Control: post-check=0,pre-check=0"); header("Cache-Control: max-age=0"); header("Pragma: no-cache"); require_once 'conf.php'; echo "<?xml version='1.0' standalone='yes'?> <response list=\"true\"> <root> <new_vers>".$new_vers."</new_vers> <update_url>".$url."</update_url> <news>Что нового: ".$news." </news> </root> </response>"; ?> Вы спросите почему я в xml файл пишу php код причина проста мне лень было делать отдельный скрипт который бы генерировал основной xml откуда и читалось бы информация о версии обновы. Второй шаг это создание conf.php и туда пишем следующие <?php $new_vers='1.0.2'; //версия вашего движка $news='Добавлена почта'; // что вы хотите рассказать о новой версии $url= 'http://xlamok.ru/upsate/dist_1.0.2.zip'; //ссылка на новую версию на сервере. ?>Надеюсь тут комментарии не нужны. Третий шаг создание .htaccess (если он у вас есть то просто добавьте следующий текс) <Files "api.xml"> AddType application/x-httpd-php .xml </Files> Здесь мы заставляем apache выполнять наш api.xml как обычный php скрипт. Всё работу с файлами у себя на сервере закончили. Теперь напишем скрипт проверки обновлений и положим в движок который будем раздавать <?php function check_update($current_version){ $responses = 'https://sofa.ru/api.xml';// адрес к своему api.xml $xml= simplexml_load_file($responses); foreach ($xml->root as $item) { $rez_a=str_replace('.','',$item->new_vers); $rez_b=str_replace('.','',$current_version); echo'Новая версия: '. $item->new_vers .'<br>'; echo'Ваша версия: '. $current_version.'<br>'; if($rez_a-$rez_b== 0){ echo 'Обновлений нет ((('; }else{ echo 'Доступно обновление<br>'; echo'Скачать: <a href="'. $item->update_url .'">'. $item->update_url .'</a> <br>'; echo'<textarea cols="48" rows="20">'. $item->news .'</textarea> '; } } } $dist='1.0.1';// установленная версия check_update($dist); ?> Это грубый пример скрипта проверки обновлений можно доработать я дал вариант который проще для меня, можно большинство переписать на mysql, но мне лень это делать да и не зачем в примере показывать лишний текст который вы наверняка знаете как осуществить. Если вы заметили что код коряв, прошу поправить и высказать свое мнение. |