0) {
// $LData = count($Data);
// print("Long Data is $LData");
for ($n = 0; $n < count($Data); $n++) {
$GetLine = explode("\t", $Data[$n]);
}
fclose ($Open);
//находим последнюю запись "от пользователя"
$IsFind = FALSE;
// for ($n = count($Data)-1; $n = 0; $n--) {
for ($n = 0; $n < count($Data); $n++) {
$m = count($Data) - $n - 1;
$GetLine = explode("\t", $Data[$m]);
// print("$n\t$GetLine[0]\t$GetLine[1]
\n");
if ($GetLine[1] == "hum")
{ $IsFind = TRUE;
break; }
}
if ($IsFind)
{
//отсылаем данные о состоянии выхода (out), установенного на сайте
print ("$Date\t$GetLine[0]\tout1=$GetLine[3]
\n"); //передаем состояние вых линии
} else
{print ("$Date\tData from human is not in $TheFile!
\n"); }
} else {print ("$Date\tNo data in $TheFile!
\n");} // данных в файле нет
}
else {
print ("$Date\Unable to read from $TheFile!
\n");
}
//проверим наличие требуемых параметров in1, out1, temp1 в запросе GET
if (isset($_GET["in1"]) & isset($_GET["out1"]) & isset($_GET["temp1"]))
//если праметры есть, то
{$in1 = $_GET["in1"];
$out1 = $_GET["out1"];
$temp1 = $_GET["temp1"];
//проверим не совпадают ли новые данные с прежними, полученными от устройства
$IsWrite = TRUE; //изначально считаем: надо писать!
if (count($Data) > 0) { //если файл пуст - пишем
$IsFind = FALSE;
// for ($n = count($Data)-1; $n = 0; $n--) { //ищем предыдущую запись от устройства
for ($n = 0; $n < count($Data); $n++) {
$m = count($Data) - $n - 1;
$GetLine = explode("\t", $Data[$m]);
// print ("$n\t$GetLine[0]\t$GetLine[1]");
if ($GetLine[1] = "dev")
{$IsFind = TRUE; //нашли!
break; }
}
if ($IsFind)
{ //сверим старые и новые данные
$temp_new = round($temp1); //температура округленная новая
$temp_old = round($GetLine[4]); //температура округленная старая
// print ("$Date\t$temp_new\t$temp_old\t$GetLine[2]\t$in1\t$GetLine[3]\t$out1
\n");
if (($GetLine[2] == $in1) & ($GetLine[3] == $out1) & ($temp_new == $temp_old)) {$IsWrite = FALSE;
// print ("string is equal $Date\t$temp_new\t$temp_old\t$GetLine[2]\t$in1\t$GetLine[3]\t$out1
\n");
}
}
}
if ($IsWrite)
{
//открываем файл для записи в него
$Open = fopen ($TheFile, "a");
//добавляем новую запись (если получится)
if ($Open)
{fwrite ($Open, "$Date\t$WhoWrite\t$in1\t$out1\t$temp1\n");
fclose ($Open);
//ОК - запись прошла
print ("$Date\tOK. Data write to $TheFile!
\n"); }
else { //ошибка - не открылся файл на запись
print ("$Date\tUnable to write to $TheFile!
\n"); }
} else
{print ("$Date\tData is equal. Not to write to $TheFile!
\n");}
}
else
//если нет параметров - просто отсылаем прошлые данные
{ print ("$Date\tData in GET is not found!
\n");
} //ошибка - данные в запросе не найдены
?>