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 :: Версия для печати :: парсер INI
Форумы портала PHP.SU » PHP » Программирование на PHP » парсер INI

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

1. CTAPbIu_KODEP - 07 Марта, 2011 - 14:04:18 - перейти к сообщению
INI
CODE (text):
скопировать код в буфер обмена
  1.  
  2. version=1.0
  3. ...
  4. site=php.su
  5.  

и т.д.
как загнать это в масив вида:
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array(
  3. 'version' => '1.0',
  4. ...
  5. 'site' => 'php.su'
  6. );

в dcms такой парсер есть. значит это сделать возможно.
2. ALEN - 07 Марта, 2011 - 14:05:56 - перейти к сообщению
CTAPbIu_KODEP
чем не вариант читать построчно и разбивать на ключ - значение?
3. CTAPbIu_KODEP - 07 Марта, 2011 - 14:09:28 - перейти к сообщению
ALEN пишет:
CTAPbIu_KODEP
чем не вариант читать построчно и разбивать на ключ - значение?

Не понял Не понял Не понял
4. ALEN - 07 Марта, 2011 - 14:10:55 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $con=array();
  2. $array=file($name);
  3. foreach($array as $val){
  4. if(preg_match("#^([^=]*)=([^=]*)$#isU",$val)){
  5. list($key, $value) = explode("=",trim($val));
  6. $con[trim($key)]=trim($value);
  7. }}
  8. var_dump($con);
  9.  


Как пример
5. OrmaJever - 07 Марта, 2011 - 14:24:07 - перейти к сообщению
ini-get() ?
6. ALEN - 07 Марта, 2011 - 14:26:33 - перейти к сообщению
OrmaJever
Уже не туда полез, тут чисто для примера, человек по всей видимости хочет в таком виде свой конфиг для программы сделать.

CTAPbIu_KODEP
Если я прав, то лучше смотри в сторону сериализации - быстрее и проще
7. CTAPbIu_KODEP - 07 Марта, 2011 - 14:34:09 - перейти к сообщению
ALEN пишет:
OrmaJever
Уже не туда полез, тут чисто для примера, человек по всей видимости хочет в таком виде свой конфиг для программы сделать.

CTAPbIu_KODEP
Если я прав, то лучше смотри в сторону сериализации - быстрее и проще

ты прав, но ка это сделать(сериализация) ?
8. movEAX - 07 Марта, 2011 - 14:37:24 - перейти к сообщению
О parse_ini_file видимо никто не слышал, да?
9. ALEN - 07 Марта, 2011 - 14:48:16 - перейти к сообщению
CTAPbIu_KODEP
serialize и unserialize
10. CTAPbIu_KODEP - 07 Марта, 2011 - 14:51:39 - перейти к сообщению
ALEN
не понятно. можеш показать пример.
11. ALEN - 07 Марта, 2011 - 14:52:32 - перейти к сообщению
movEAX
Все это понятно, только задача была просто разбить строки, поэтому и не приводил в пример ту функцию, мало ли, что там нужно, может преобразование значений.

А данная проблема решается совершенно другим макаром и сразу проверяет, кто-то тер руками файл или нет, т.е. проверка на целостность массива, что очень удобно.
12. movEAX - 07 Марта, 2011 - 15:18:49 - перейти к сообщению
ALEN пишет:
Все это понятно, только задача была просто разбить строки, поэтому и не приводил в пример ту функцию, мало ли, что там нужно, может преобразование значений.

По-моему, эта функция как раз для этого и создана. О каком еще преобразовании значений идет речь? Наверно, имеется в виду "изменение"?

Опять же, на мой взгляд, нужно разделять понятия системные конфиги и настройки сайта, конфиги - правятся вручную(доступ к бд и т.д.), настройки - можно хранить в базе или в отедльном файле, тут как раз подойдет сериализация или ее аналог json_encode/decode.
13. ALEN - 07 Марта, 2011 - 15:30:34 - перейти к сообщению
movEAX
В общем не люблю я работу ручками, поэтому все у меня шифровано, по поводу json - так же , как и serialize - лучше чем ini
14. Stierus - 09 Марта, 2011 - 17:04:32 - перейти к сообщению
ALEN,
Цитата:
по поводу json - так же , как и serialize - лучше чем ini
Медленнее, по наглядности одинаково (если говорить про json) и на много ненагляднее(если говорить про сериализацию), чем лучше-то?
15. ALEN - 09 Марта, 2011 - 20:13:08 - перейти к сообщению
Stierus
Serialize
1) Лень - не люблю руками править ничего, да и доступ ко всему пользователям не нужен, а то любят всякие умники делать так, чтоб потом были проблемы.
2) Сохранность данных - как уже сказал ручкми не нужно править, а если кто-то влезет, то unserialize даст знать.
3) Возможность сохранить тип данных и даже объекты.

По поводу json, xml, ini, согласен там фигню сказал, все оно похожее, просто с некоторыми каждому по разному удобней работать. Использую json и xml только при передачи данных между php и javascript. ini вообще не использую, красиво не спорю, но я не любитель вообще трогать ручками что-либо и не люблю когда нубы ковыряют, то что не нужно было.

Было в практике такое, что дал админку и доступ к конфигам владельцу проекта который заказывал сайт, но я его сопровождал и проводил все работы. В общем там такое накрутили, что хорошо, что я запасливый на backup`ы Улыбка

В общем каждому по потребности, от каждого по способности. - давать править все в легкой форме не нужно!

 

Powered by ExBB FM 1.0 RC1