Пример скрипта, который должен выполниться при запуске/выполнении (желательно однократно) своего модуля:
$url = 'http://stat.klisl.com/'; $params = array( 'module' => 'KSL', 'ver' => '1.3', 'host' => $_SERVER['SERVER_NAME'], ); @$result = file_get_contents($url, false, stream_context_create( array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params) ) )));
Функция http_build_query() возвращает URL-кодированную строку такого формата:
module=KSL&ver=1.3&host=test.loc
В данном случае, с помощью функции file_get_contents(), POST-запросом, на указанный в $url адрес, отправится массив $params, который можно получить на 'http://stat.klisl.com/' и разложить на части:
$module = $_POST['module']; $version = $_POST['ver']; $host = $_POST['host']; $dateStart = time(); //далее сохранение в БД. Для примера просто выведем на экран echo 'Запуск модуля '. $module. $version.'<br>'. 'хост: '.$host.'<br>'. 'в '.date("d.m.Y", $dateStart);
Функция file_get_contents() читает содержимое файла который обрабатывает запрос и, если та страница что-то выводит, можно сохранить это в переменную (тут $result).
Таким образом, при тестировании данного примера можно вывести переданные значения. Для этого добавить в первый скрипт:
echo $result;Результат:
Запуск модуля KSL1.3 хост: test.loc в 03.04.2017
Так же можно, передавая назад определенные данные, обрабатывать их. Например может быть несколько версий модулей в т.ч. платный. Тогда для платного сделать идентификацию.