Data from Database
0) {
// for ($n = 0; $n < count($Data); $n++) {
// $GetLine = explode("\t", $Data[$n]);
// }
// }
// fclose ($Open);
if ($CountData > 400)
{
// Открываем файл для получения хвоста существующего содержимого
$offset = $CountData - 399;
$current = file_get_contents($TheFile,NULL,NULL,$offset);
// Пишем полученное содержимое обратно в файл
file_put_contents($TheFile, $current);
//ОК - запись прошла
print ("$Date\tOK. Reduce database in $TheFile!
\n");
}
}
}
//проверить наличие параметра $out (признак управления выходом/записи в файл с признаком "hum")
if (isset($_GET["out"]))
{//если есть, то
$out1 = substr($_GET["out"],0,1); //берем только первый символ
if ($out1 == "0" OR $out1 == "1")
{ //проверим корректность данных: может быть только 0 или 1
$in1 = 2; //признак "не знаю"
$temp1 = 99; //признак "не знаю"
// открыть файл для записи и
$Open = fopen ($TheFile, "a");
// добавляем новую запись (если получится)
if ($Open)
// записать новую строку с этим признаком и данными
{fwrite ($Open, "$Date\t$WhoWrite\t$in1\t$out1\t$temp1\n");
fclose ($Open);
//ОК - запись прошла
print ("$Date\tOK. Data \"$out1\" write to $TheFile!
\n"); }
else { //ошибка - не открылся файл на запись
print ("$Date\tUnable to write to $TheFile!<\B>
\n"); }
}
}
print ("
Date and Time now is: $Date
\n");
//прочитаем файл данных
$Open = fopen ($TheFile, "r"); //открываем файл для чтения
if ($Open) {
//если успешно, то
$Data = file ($TheFile); //читаем данные из файла
if (count($Data) > 0) {
for ($n = 0; $n < count($Data); $n++) {
$GetLine = explode("\t", $Data[$n]);
}
}
fclose ($Open);
//вывод на экран поседних 10 строк и информации об общем числе строк в файле
$nstr = 10;
for ($n = 0; $n < count($Data); $n++) {
$m = count($Data) - $n - 1;
$GetLine = explode("\t", $Data[$m]);
print("$GetLine[0]\t$GetLine[1]\t$GetLine[2]\t$GetLine[3]\t$GetLine[4]
\n");
$nstr--;
if ($nstr == 0)
{ break; }
}
$nstr = count($Data);
print("
In $TheFile $nstr string(s)
\n");
//вывод итоговой строки: "Now Temperature= Input=<> Output Recive=<> Output Send=<>
// для этого найдем последнюю запись Устройства
$IsFind = FALSE;
for ($n = 0; $n < count($Data); $n++) {
$m = count($Data) - $n - 1;
$GetLine = explode("\t", $Data[$m]);
if ($GetLine[1] == "dev")
{ $IsFind = TRUE;
break; }
}
if ($IsFind)
{ // здесь recive - то что было принято от Устройства в последний раз
print ("Last record from device: $GetLine[0]\tINPUT = $GetLine[2]\tOUTPUT RECIVE = $GetLine[3]
\n");
print ("\tTEMPERATURE = $GetLine[4]
\n");
} else
{print ("$Date\tData from device is not in $TheFile!
\n"); }
// send - то что было послано на Устройство в последний раз
// для этого найдем последнюю запись Человека
$IsFind = FALSE;
for ($n = 0; $n < count($Data); $n++) {
$m = count($Data) - $n - 1;
$GetLine = explode("\t", $Data[$m]);
if ($GetLine[1] == "hum")
{ $IsFind = TRUE;
break; }
}
if ($IsFind)
{ // здесь send - то что было послано на Устройство в последний раз
print ("Last record from human: $GetLine[0]\tOUTPUT SEND = $GetLine[3]
\n");
} else
{print ("$Date\tData from human is not in $TheFile!
\n"); }
} else
{
//если ошибка открытия файла - информация об ошибке - выход
print ("$Date\tUnable to read from $TheFile!
\n");
}
print ("
\n"); //отделим дальнейшее
//проверим наличие параметра $psw (признак входа в режиме управления)
if (isset($_GET["psw"]))
{
//если есть и пароль совпадает с заданным, то
if ($_GET["psw"] == "123")
{
//$psw = $_GET["psw"];
// нарисовать форму управления Output и кнопочку Send(Submit) (формировать запрос GET с параметром out= к этой же форме)
//print ("psw=$psw... in this place will be form for input data...
\n");
print ("
");
// нарисовать форму управления для команды сокращения базы и кнопочку Cut(Cut) (формировать запрос GET с параметром cut=Cut к этой же форме)
print ("
");
}
}
?>