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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: парсер INI

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
CTAPbIu_KODEP
Отправлено: 07 Марта, 2011 - 14:04:18
Post Id



Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Февр. 2011  
Откуда: Джанкой, Украина


Помог: 0 раз(а)




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 такой парсер есть. значит это сделать возможно.
 
 Top
ALEN
Отправлено: 07 Марта, 2011 - 14:05:56
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




CTAPbIu_KODEP
чем не вариант читать построчно и разбивать на ключ - значение?
 
 Top
CTAPbIu_KODEP
Отправлено: 07 Марта, 2011 - 14:09:28
Post Id



Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Февр. 2011  
Откуда: Джанкой, Украина


Помог: 0 раз(а)




ALEN пишет:
CTAPbIu_KODEP
чем не вариант читать построчно и разбивать на ключ - значение?

Не понял Не понял Не понял
 
 Top
ALEN
Отправлено: 07 Марта, 2011 - 14:10:55
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




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.  


Как пример
 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2011 - 14:24:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)






-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ALEN
Отправлено: 07 Марта, 2011 - 14:26:33
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




OrmaJever
Уже не туда полез, тут чисто для примера, человек по всей видимости хочет в таком виде свой конфиг для программы сделать.

CTAPbIu_KODEP
Если я прав, то лучше смотри в сторону сериализации - быстрее и проще
 
 Top
CTAPbIu_KODEP
Отправлено: 07 Марта, 2011 - 14:34:09
Post Id



Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Февр. 2011  
Откуда: Джанкой, Украина


Помог: 0 раз(а)




ALEN пишет:
OrmaJever
Уже не туда полез, тут чисто для примера, человек по всей видимости хочет в таком виде свой конфиг для программы сделать.

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

ты прав, но ка это сделать(сериализация) ?
 
 Top
movEAX
Отправлено: 07 Марта, 2011 - 14:37:24
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




О parse_ini_file видимо никто не слышал, да?


-----
армия.. самое убогое место
 
 Top
ALEN
Отправлено: 07 Марта, 2011 - 14:48:16
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




CTAPbIu_KODEP
serialize и unserialize
 
 Top
CTAPbIu_KODEP
Отправлено: 07 Марта, 2011 - 14:51:39
Post Id



Новичок


Покинул форум
Сообщений всего: 47
Дата рег-ции: Февр. 2011  
Откуда: Джанкой, Украина


Помог: 0 раз(а)




ALEN
не понятно. можеш показать пример.
 
 Top
ALEN
Отправлено: 07 Марта, 2011 - 14:52:32
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




movEAX
Все это понятно, только задача была просто разбить строки, поэтому и не приводил в пример ту функцию, мало ли, что там нужно, может преобразование значений.

А данная проблема решается совершенно другим макаром и сразу проверяет, кто-то тер руками файл или нет, т.е. проверка на целостность массива, что очень удобно.
 
 Top
movEAX
Отправлено: 07 Марта, 2011 - 15:18:49
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




ALEN пишет:
Все это понятно, только задача была просто разбить строки, поэтому и не приводил в пример ту функцию, мало ли, что там нужно, может преобразование значений.

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

Опять же, на мой взгляд, нужно разделять понятия системные конфиги и настройки сайта, конфиги - правятся вручную(доступ к бд и т.д.), настройки - можно хранить в базе или в отедльном файле, тут как раз подойдет сериализация или ее аналог json_encode/decode.


-----
армия.. самое убогое место
 
 Top
ALEN
Отправлено: 07 Марта, 2011 - 15:30:34
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




movEAX
В общем не люблю я работу ручками, поэтому все у меня шифровано, по поводу json - так же , как и serialize - лучше чем ini
 
 Top
Stierus Супермодератор
Отправлено: 09 Марта, 2011 - 17:04:32
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




ALEN,
Цитата:
по поводу json - так же , как и serialize - лучше чем ini
Медленнее, по наглядности одинаково (если говорить про json) и на много ненагляднее(если говорить про сериализацию), чем лучше-то?
 
My status
 Top
ALEN
Отправлено: 09 Марта, 2011 - 20:13:08
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Stierus
Serialize
1) Лень - не люблю руками править ничего, да и доступ ко всему пользователям не нужен, а то любят всякие умники делать так, чтоб потом были проблемы.
2) Сохранность данных - как уже сказал ручкми не нужно править, а если кто-то влезет, то unserialize даст знать.
3) Возможность сохранить тип данных и даже объекты.

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

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

В общем каждому по потребности, от каждого по способности. - давать править все в легкой форме не нужно!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB