Главное меню:
| Автор | Сообщение |
|
#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, но мне лень это делать да и не зачем в примере показывать лишний текст который вы наверняка знаете как осуществить. Если вы заметили что код коряв, прошу поправить и высказать свое мнение. |