Непонятное поведение команды file_put_contents.
1. Командой define я файлу repet.log присваиваю имя REPET_LOG:
define("REPET_LOG", "repet.log");
2. Переменной data1 присваиваю такую строку:
$data1 = «wasy1:wasy2:..........wasy35»;
3. С помощью команды file_put_contents я передаю данные от
переменной $data1 к переменной REPET_LOG:
file_put_contents(REPET_LOG, $data1, FILE_APPEND);
4. Далее в программе я часто использую (должен использовать)
переменную REPET_LOG. В частности, с помощью команды
file передаю данные из REPET_LOG файлу $orders:
$orders = file(REPET_LOG);
И вот теперь самое главное, я ожидаю что в переменной $orders - массив с одной ячейкой,
т. к. команда file_put_contents должна делать только одну строку, а на самом деле
команда file_put_contents сделала текстовой файл с двумя строками, а значит массив
$orders стал с двумя ячейками, чего быть (как я читал) не должно.
Если в $data1 будет более короткая строка, например $data1 = «wasy1:wasy2:..........wasy18»,
тогда команда file_put_contents делает однострочный текстовой файл. Т.е. работает правильно.
Теперь вопрос: как сделать, чтобы команда file_put_contents сделала однострочный
текстовой файл, или, если это непоправимо, как из массива с двумя ячейками
($data1[0] и $data1[1]) сделать массив с одной ячейкой: $data[0]. Т.е. В нем будут
все данные из $data1[0] и $data1[1].
Заранее извиняюсь, если где-то писал не профессионально или не логично.
Я начинающий... (Отредактировано автором: 13 Марта, 2013 - 06:25:38)
|