PHP - дата изменения файла, подключение по FTP

Автор: Admin

Дата:2014-03-07

PHP - дата изменение файла, подключение по FTP.

Такое не большое решение для проверки времени изменения файла с подключением по FTP

Задача достаточно простая - имеются 2 базы данных 1С в разных городах, между ними происходит обмен по FTP, через какое-то время.

Наша задача дать возможность пользователям, по их желанию просматривать через WEB все ли хорошо, а так же на основе этого можно создать скрипт с отправкой нам сообщения о том, что базы не обновляются на какой-либо стороне.

<?php
//Настройки подключения к FTP
$file1 = 'Message_001_002.zip';
$file2 = 'Message_002_001.zip';
$ftp_server = 'Serv_addr';
$ftp_user_name = 'ftp_username';
$ftp_user_pass = 'ftp_passw';
$port = '1021';

// Установка соединения
$conn_id = ftp_connect($ftp_server, $port);
// Вход с именем пользователя и паролем, а так же вызовом исключения если неудача
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die("Не удалось установить соединение с $ftp_server. </br>Возможно сервер для обмена не работает или возникли неполадки с Интернетом");


//Текущее время в Формате Unix
$now_time = date("U", time());
echo "Текущее время: $now_time";
echo "<br>";

//  Получение времени модификации файла
$buff = ftp_mdtm($conn_id, $file1);
$buff2 = ftp_mdtm($conn_id, $file2);

if ($buff != -1) {
    echo "Дата последней Выгрузки 1С из <strong>Город А.</strong> $file1 : " . date("F d Y H:i:s.", $buff);
} else {
    echo "Не удалось выполнить mdtime";
}

//Время последнего изменения файла
$time_file = date("U" ,$buff);
echo "<br>";
echo "Время изменения файла Город А.: $time_file";

//Разница между текущим временем и временем посл изм файла

$diff_time=$now_time-$time_file;
echo "<br>";
echo "Разница во времени: $diff_time";
echo "<br>";
//Если текущее время больше на 30 минут времени последнего изменения файла

if($diff_time >=1800){print "$file больше 30 минут не изменялся";}
else {print "Все хорошо";}
?>

<br>


<?php

if ($buff2 != -1) {
    echo "Дата последней Выгрузки 1С из <strong>Город В.</strong> $file2 : " . date("F d Y H:i:s.", $buff2);
} else {
    echo "Не удалось выполнить mdtime";
}


$now_time2 = date("U", time());
$time_file2 = date("U" ,$buff2);
echo "<br>";
echo "Время изменения файла города В.: $time_file2";
echo "<br>";
//Здесь мы применяем функцию floor для округления в меньшую сторону, тем самым приводим к минутам
$diff_time2=floor(($now_time2-$time_file2)/60);
echo "Разница во времени: $diff_time2"." ".мин;
echo "<br>";
//Если текущее врея больше на 30 минут времени последнего изменения файла
if($diff_time2 >=30)
//разумеется здесь мы можем сделать все что угодно, ну например намного полезнее будет отправлять сообщение на почту.
{print "$file больше 30 минут не изменялся";}
else {print "Все хорошо";}
ftp_close($conn_id);

?>

Количество просмотров: 2087

Комментарии к статье:

Добавить комментарий

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2017