Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Чтение и запись массива из файла
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Чтение и запись массива из файла

Страниц (1): [1]
 

1. dropoff - 26 Июля, 2011 - 00:05:10 - перейти к сообщению
Всем привет.

Не могу найти решения, как можно читать писать массив такого вида из файла

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $config['key1']['val1'] = 'sss1';
  4. $config['key1']['val2'] = 'sss2';
  5. $config['key1']['val3'] = 'sss3';
  6.  
  7. $config['key2']['val1'] = $config['key1']['val1'].'/aaa1';
  8. $config['key2']['val2'] = 'val2';
  9. $config['key2']['val3'] = $config['key1']['val3'].'/aaa3';
  10.  
  11. ?>


В итоге получаю что-то типа

PHP:
скопировать код в буфер обмена
  1. (
  2.     [key1] => Array
  3.         (
  4.             [val1] => sss1
  5.             [val2] => sss2
  6.             [val3] => sss3
  7.         )
  8.  
  9.     [key2] => Array
  10.         (
  11.             [val1] => sss1/aaa1
  12.             [val2] => val2
  13.             [val3] => sss3/aaa3
  14.         )
  15.  
  16. )


key* - каждый отдельно прогоняю через функцию для удобной работы.

так же в этом файле присутствуют комментарии и другой код.

Можно как-то получать этот массив в форму и потом сохранять так, чтобы меняли только значения?
2. LIME - 26 Июля, 2011 - 00:15:14 - перейти к сообщению
http://php.su/functions/?serialize
http://php.su/functions/?unserialize
3. dropoff - 26 Июля, 2011 - 00:30:27 - перейти к сообщению
А причем тут сериализация? Не очень понял чем она мне поможет Ниндзя
Мне нужно читать этот файл и выводит в HTML форму некоторые значения
после редактирования - сохранять обратно в файл, при этом не нарушая его структуру в целом.
т.е. не затирая комментарии которые есть в файле и другой код.
4. OrmaJever - 26 Июля, 2011 - 00:38:20 - перейти к сообщению
Зачем сохрать в масиве? если это файл конфигурации почему не использовать Ini файл?
(Добавление)
http://habrahabr[dot]ru/blogs/php/112402/
5. dropoff - 26 Июля, 2011 - 00:46:21 - перейти к сообщению
Как-то сложилось что такой конфиг у меня
удобно с ним работать

в ini файле так не сделать например
$config['key2']['val1'] = $config['key1']['val1'].'/aaa1';
а у меня пути так все прописаны в директориям и ссылкам
придется кучу файлов ковырять, чтобы под другой конфиг подстроить((

OrmaJever, спасибо за ссылку!
(Добавление)
ini конечно хорошо. как и сериализация.
Но конфиг у меня максимум на 100 строк будет.

в плане удобности массив такой, имхо удобнее

можно сляпать простую функцию
function key($value)
{
global $config;
return $config['key'][$value];
}

и вызывать потом где надо key('value');

подумаю. может действительно переделать в ini и разделить конфиг на часто меняемые значения и вообще не меняемые(пути и т.д...). Хотя хотелось бы остатся, влом переписывать с нуля все))
6. dropoff - 29 Июля, 2011 - 09:46:53 - перейти к сообщению
Ребят, так есть возможность сохранять такой массив аккуратно, по ключам... ?

 

Powered by ExBB FM 1.0 RC1