Вам же Сергей сказал что оформить код нужно в виде отдельного сценария. SetGlobal() это встроенная функция MD.
Вы выполняете его отдельным php, чтобы из него передать переменную в MD нужно выпольнять http get: http://smartliving.ru/Main/ProgramminIntegration
// набор данных который нужно прочесть:
//2,26,00,2013-10-01 06:47:20
$dataPath = "v:\TEMPerUSB"; // Директория с данными
$separator = ","; // Разделитель данных в файле
$file = ""; // имя файла
// бежим по директории
if ($handle = opendir($dataPath))
{
// Читаем файлы
while (false !== ($entry = readdir($handle)))
{
// путь к файлу
$filePath = $dataPath . "/" . $entry;
// если файл есть и является обычным файлом а не директорией то читаем содержимое
if (file_exists($filePath) && is_file($filePath))
{
$file = $filePath; // файл.
}
}
// закрываем директорию
closedir($handle);
// открываем файл на чтение
$file = @fopen($file, "r");
// читаем файл до конца построчно
while (!feof($file))
{
// читаем строку
$currentLine = fgets($file);
// разбиваем строку на переменные с данными
list($DataNumber, $TempInteger, $TempRatio, $TempDate) = explode($separator, $currentLine);
// склеиваем целую и дробную часть температуры
$Temp = $TempInteger . "." . $TempRatio;
// удаляем лишние пробелы в начале и в конце
$Date = trim($TempDate);
}
//закрываем файл
fclose($file);
setGlobal('AmarokLair.Temperature',$Temp);
}
else
{
echo "Немогу открыть директорию";
}
Выполняю его и в переменной AmarokLair.Temperature оказывается просто точка:
Странная фигня(((
Походу в конце файла стоит возврат каретки или пустая строка, при этом
while (!feof($file)) не увидит что был достигнут конец файла и следовательно
$currentLine = fgets($file); - попытается прочесть эту строчку и вернет пустые данные.
Попробуйте добавить проверку на корректность переменной $currentLine после чтения строки из файла.
если по-быстрому, то надо строчку
$Temp = $TempInteger . "." . $TempRatio;
заменить на
if ($TempDate) {
$Temp = $TempInteger . "." . $TempRatio;
}
это исключит сохранение пустых значений
Сергей Джейгало, разработчик MajorDoMo Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь! Профиль Connect -- информация, сотрудничество, услуги