[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите логировать работу скрипта
Страницы: 1, 2
Stas
Есть скрипт который грузит на сайт скрипты счетчиков по расписанию.
Сделано это для того чтоб сократить ответ сервера.
Вот сам скрипт
<?php
// CRON для автоматического обновления файлов стороних сервисов и счетчиков.
function downloadJs($file_url, $save_to)
{
$content = file_get_contents($file_url);
file_put_contents($save_to, $content);
}
// Указываем URL, затем папку от корня сайта и имя файла с расширением.
// Проверьте чтобы на папке были права на запись 777/755

// Для скриптов без расширения
//downloadJs('http://code.jivosite.com/script/widget/NuT1gBLsC6', realpath("./media/js") . '/NuT1gBLsC6');
// Метрика

downloadJs('https://mc.yandex.ru/metrika/watch.js', realpath("/media/js").'/watch.js');
// Google Analytics
downloadJs('https://google-analytics.com/analytics.js', realpath("/media/js").'/analytics.js');
downloadJs('https://google-analytics.com/ga.js', realpath("/media/js").'/ga.js');
//mail.ru
downloadJs('https://top-fwz1.mail.ru/js/code.js', realpath("/media/js").'/code.js');
?>

Необходимо логировать в отдельный лог выполнения скрипта с датой и размером файлов которые заменились после выполнения.
Подскажите как это сделать.
Зарание блогодарен за ответ
Игорь_Vasinsky
function downloadJs($file_url, $save_to)
{

$content = file_get_contents($file_url);

if(file_put_contents($save_to, $content)){
$file = basename($file_url);
$size = filesize($save_to);
$date = date('d/m/Y H:i:s');
$log = $date.'|'.$file.'|'.$size.PHP_EOL;

file_put_contents(__DIR__.'/loguploads.txt', $log, FILE_APPEND);
}
}


логи вида

04/08/2016 12:55:21|watch.js|69733
04/08/2016 12:55:50|watch.js|69733
04/08/2016 12:55:51|analytics.js|27580


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Stas
Спасибо за помошь.
Полный код у меня получился такой
<?php
// CRON для автоматического обновления файлов стороних сервисов и счетчиков.
function downloadJs($file_url, $save_to)
{
$content = file_get_contents($file_url);
file_put_contents($save_to, $content);
// Логируем загрузку файлов на сервер.
if(file_put_contents($save_to, $content)){
$file = basename($file_url);
$size = filesize($save_to);
$date = date('d/m/Y H:i:s');
$log = $date.'|'.$file.'|'.$size.PHP_EOL;
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/logs/loguploads.txt', $log, FILE_APPEND);
} }
// Указываем URL, затем папку от корня сайта и имя файла с расширением.
// Проверьте чтобы на папке были права на запись 777/755

// Для скриптов без расширения
//downloadJs('http://code.jivosite.com/script/widget/NuT1gBLsC6', realpath("./media/js") . '/NuT1gBLsC6');
// Метрика

downloadJs('https://mc.yandex.ru/metrika/watch.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/watch.js');
// Google Analytics
downloadJs('https://google-analytics.com/analytics.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/analytics.js');
downloadJs('https://google-analytics.com/ga.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/ga.js');
//mail.ru
downloadJs('https://top-fwz1.mail.ru/js/code.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/code.js');
?>

А для красоты файла loguploads.txt как вставить пустую строку после записи
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.