[Сценарий] Чтение и запись в текстовый файл
-
- Сообщения: 24
- Зарегистрирован: Ср июн 28, 2017 1:48 pm
- Благодарил (а): 14 раз
- Поблагодарили: 0
Re: [Сценарий] Чтение и запись в текстовый файл
К сожалению, этот пример выводит весь имеющийся текст в одно свойство.
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: [Сценарий] Чтение и запись в текстовый файл
Надо проверять, что не так.
Вставляю код в онлайн-тестировщик кода (https://www.jdoodle.com/php-online-editor/)
Код: Выделить всё
<?php
$data = "data:XXX";
$data = explode('data:', $data);
$data = end($data);
print($data);
?>
- Рейтинг: 1.16%
-
- Сообщения: 24
- Зарегистрирован: Ср июн 28, 2017 1:48 pm
- Благодарил (а): 14 раз
- Поблагодарили: 0
Re: [Сценарий] Чтение и запись в текстовый файл
Одна строка - да, а несколько:
<?php
$data = "data:XXX";
$data = explode('data:', $data);
$data = end($data);
$play = "play:YYY";
$play = explode('play:', $play);
$play = end($play);
$volume = "volume:ZZZ";
$volume= explode('volume:', $volume);
$volume= end($volume);
$status = "status:WWW";
$status = explode('status:', $status);
$status = end($status);
print($data);
print($play);
print($volume);
print($status);
?>
Результат: "XXXYYYZZZWWW"
<?php
$data = "data:XXX";
$data = explode('data:', $data);
$data = end($data);
$play = "play:YYY";
$play = explode('play:', $play);
$play = end($play);
$volume = "volume:ZZZ";
$volume= explode('volume:', $volume);
$volume= end($volume);
$status = "status:WWW";
$status = explode('status:', $status);
$status = end($status);
print($data);
print($play);
print($volume);
print($status);
?>
Результат: "XXXYYYZZZWWW"
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: [Сценарий] Чтение и запись в текстовый файл
Собственно, ничего неожиданного. Так и должно быть.
Задача формулировалась как: "выбрать все символы до конца строки, после определенного сочетания символов".
Если это не то, что вам нужно, то надо уточнить задачу (желательно, с приведением релевантного фрагмента реальных данных) и то, как должен выглядеть конечный результат.
- Рейтинг: 1.16%
-
- Сообщения: 24
- Зарегистрирован: Ср июн 28, 2017 1:48 pm
- Благодарил (а): 14 раз
- Поблагодарили: 0
Re: [Сценарий] Чтение и запись в текстовый файл
Каждая строка в своё свойство объекта.
Примерно так в текстовом файле:
stn:Russkoe radio
vol:254
tit:Leps
sts:1
Результат - свойства объекта KaRadio:
KaRadio.station - Russkoe radio
KaRadio.volume - 254
KaRadio.play - Leps
KaRadio.status - 1
Примерно так в текстовом файле:
stn:Russkoe radio
vol:254
tit:Leps
sts:1
Результат - свойства объекта KaRadio:
KaRadio.station - Russkoe radio
KaRadio.volume - 254
KaRadio.play - Leps
KaRadio.status - 1
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: [Сценарий] Чтение и запись в текстовый файл
Теперь ситуация более-менее прояснилась. Можете прислать реальный файл?
Если действительно в файле каждый смысловой фрагмент начинается с новой строки, то представляется, что особых трудностей для извлечения нужных данных быть не должно. Осталось только выяснить, какой символ используется в файле для перехода на новую строку.
Если действительно в файле каждый смысловой фрагмент начинается с новой строки, то представляется, что особых трудностей для извлечения нужных данных быть не должно. Осталось только выяснить, какой символ используется в файле для перехода на новую строку.
- Рейтинг: 1.16%
-
- Сообщения: 24
- Зарегистрирован: Ср июн 28, 2017 1:48 pm
- Благодарил (а): 14 раз
- Поблагодарили: 0
Re: [Сценарий] Чтение и запись в текстовый файл
Да, вот он.
- Вложения
-
- dialog_result .txt
- (75 байт) 249 скачиваний
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: [Сценарий] Чтение и запись в текстовый файл
Можно попробовать так:
и т.д. Для каждого параметра объект.свойства, разумеется, свои.
Во всяком случае у меня в онлайн-тестировщике кода необходимое содержимое из вашего файла прекрасно вычленяется.
Результат: "RUSSIAN POP 80-90".
Код: Выделить всё
$data=LoadFile('путь_к_файлу');
preg_match('/num: ([^
]*)/', $data, $matches);
SetGlobal('object.property',$matches[1]);
preg_match('/stn: ([^
]*)/', $data, $matches);
SetGlobal('object.property',$matches[1]);
Во всяком случае у меня в онлайн-тестировщике кода необходимое содержимое из вашего файла прекрасно вычленяется.
Код: Выделить всё
<?php
$data = 'vol: 254
num: 11
stn: RUSSIAN POP 80-90
tit: Meladze Valeriy - Vera
sts: 1
';
preg_match('/stn: ([^
]*)/', $data, $matches);
echo $matches[1];
?>
- Рейтинг: 1.16%
-
- Сообщения: 1555
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: [Сценарий] Чтение и запись в текстовый файл
Любите вы из пушки по воробьям стрелять....
как-то так
Код: Выделить всё
$lines = file('путь_к_файлу',FILE_IGNORE_NEW_LINES);
foreach ($lines as $line) {
$values=explode(':',$line);
if (count($values)>1) {
SetGlobal('KaRadio.'.$values[0],$values[1]);
}
}
- Рейтинг: 2.33%
-
- Сообщения: 1463
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: [Сценарий] Чтение и запись в текстовый файл
Ну, батенька, для этого нужно быть программистом. А мы даже на звание "любителя" не претендуем.
Еще маленькое уточнение, у постановщика задачи наименования свойств не совпадают с наименованиями ключей массива. Чтобы в точности воспользоваться вашим примером (замечательным, надо отметить) постановщику задачи придется переименовывать наименования своих свойств.
- Рейтинг: 1.16%