Парсер конфигов

августа 10, 2007 by admin
Возникла задача парсить ini-файлы в PHP
Написал такой код:

INI - файл

; this is comment

key=val

[path]

param1=value1
param2=value2
param3=value3

[dirs]

runtime=/sys/rtm

data=/data

docs=/etc/docs

conf=conf.txt

[vars]

; asdads

array1[] = value1
array1[] = value2
array1[] = value3

hash2[abc] = value1
hash2[def] = value2
hash2[5] = value3
hash2[6] = value4
hash2[] = value5
hash2[] = value6

PHP Код

<?php
/**
* @author PEpeSto
* @license MPL 1.1
*/
$fileName = “config.ini”;

$iniArray =array();
$lines = file($fileName) or die(”Error: Can’t read file”);
$currentBlock=”";
foreach ($lines as $linenum=&gt;$line)
{
// comments
if(preg_match(”/^[ \t]*;/”,$line)) continue;
// blocks
if(preg_match(”/^[ \t]*\[(.+?)\][ \t]*/”, $line, $matches)) $currentBlock = $matches[1];

// params
if(preg_match(”/^[ \t]*(.+?)[ \t]*=[ \t]*(.+)/”, $line, $matches))
if(preg_match(”/^(.+?)\[(.*)\]/”, $matches[1], $matches2))
($currentBlock!=”")
? (($matches2[2]!=”")
? $iniArray[$currentBlock][$matches2[1]][$matches2[2]] = $matches[2]
: $iniArray[$currentBlock][$matches2[1]][] = $matches[2])
: (($matches2[2]!=”")
? $iniArray[$matches2[1]][$matches2[2]] = $matches[2]
: $iniArray[$matches2[1]][] = $matches[2]);
else
($currentBlock!=”")
? $iniArray[$currentBlock][$matches[1]] = $matches[2]
: $iniArray[$matches[1]] = $matches[2];
}

print_r($iniArray);
?>

результат

Array
(
[key] => val
[path] => Array
(
[param1] => value1
[param2] => value2
[param3] => value3
)

[dirs] => Array
(
[runtime] => /sys/rtm
[data] => /data
[docs] => /etc/docs
[conf] => conf.txt
)

[vars] => Array
(
[array1] => Array
(
[0] => value1
[1] => value2
[2] => value3
)

[hash2] => Array
(
[abc] => value1
[def] => value2
[5] => value3
[6] => value4
[7] => value5
[8] => value6
)

)

)

мож пригодиться кому когда
потом как нибудь запись из массива в конфиг напишу

Статьи по теме: Парсер конфигов

Posted in Без рубрики | No Comments »

Prototype.js

августа 9, 2007 by admin

Вник в Prototype. Шикарная вещь!

Статьи по теме: Prototype

Posted in Без рубрики | No Comments »

Интересные посты блогеров.

августа 9, 2007 by admin

Долго уже не пишу, что-то меня порой то лень одолевает, то жуткое состояние работы в результате чего писать в блог практически некогда. :-)
Сейчас делаю несколько тестовых сателлитов, закуплю ссылок на сапе, посмотрим как быстро можно поставить “нулевые сайты” на ноги.

Тем не менее, блогеров я читаю. Часто и помногу. Небольшой обзор последних постов блогеров.

Очень интересный пост человека зарабатывающего на парнёрках казино:
Как я нашел качественный контент по цене 0,33 бакса за 1000 символов
Описывается где найти “дешёвых” рерайтеров статей, как выбрать качественных, как работать с ними, чтобы избежать конфликтов. Очень интересный пост. Советую.

MaulNet пишет о “фишках нового алгоритма”.
Да.. чтобы по запросу “интернет” стоял www.holodilnik.ru это просто вне комментариев!

Максим предлагает окупать рефами мобильную связь тем самым делая её псевдо “бесплатной”. :-)
Мне тоже приходило спамовое письмецо по мылу от них. Открыл, почитал чего надо. (я интересуюсь мобильной темой, поэтому интересна). С первого абзаца показалось, что чушь и закрыл нафиг.
Только сейчас понял, что была это собно реф ссылка. Ими типа и планируется зарабатывать. Мне не кажется, что это перспективно. Ну не знаю, поживём - увидим.

SeoNewbie пишет о том, что John Chow на спор сделает с нуля блог и раскрутить его не используя своего брэндового имени. Джон будет подробно отписываться в ходе процесса раскрутки.
SeoNewbie назвал его “новым бомжом”. :-) По-моему очень точно подмечено!

Matrix пишет о преимуществах нового ЦОПа. Где по его словам выплаты аж через 10 минут и много всего полезного.
Интересно, а если некоторые мои ресурсы не приняли в МиксМаркет, есть ли у меня шанс… :-) посмотрим..

И на последок весёлый анекдот. После прочтения которого, меня так “вышибло”, что я еле-еле дописал сей пост :-)))

————-
Объяснительная грамота.

Я, раб божий Васильев Дмитрий Михайлович, на 30-й минуте управления басурманской самодвижущейся повозкою Мазда 323, будучи одержим бесом высокомерия, впал в грех нарушения заповедей трактового передвижения. На перекрестке дорог Просвещения и Энгельса (да будет проклят этот антихрист!) я, пренебрегши тем, что семафор червлённый свет показывает, при повороте одесницу не пропустил пешехода - отрока с божей тварью псом Тузиком. Нижайше прошу обратить внимание, что Тузик не был намертво принайтован нашейным вервием. Тузик, одержимый праведным гневом на басурманскую мою повозку, начал лаяти и под колеса мне бросился.
Обуянный жалостию ко всякой твари божией я применил экстренное торможение.
В тот момент отроковица на повозке богомерзкой Хьёндай Гетц совершала манёвр перестроения за мною, в результате из-за моего экстренного торможения совершила наезд в мою телегу сзади (схема и список повреждений прилагается)
От удара повозка моя продвинулась вперёд и задавила Тузика нахрен. От полученных повреждений тварь божия Тузик преставилась на месте.
Признавая за собой грех нарушения пп. 1. 3 и 1. 5 Заповедей, готов понести епитимью и пожертвовать районному храму Воинов Дорог белого быка.
В порче же повозок виновным себя не признаю, поскольку отроковица не соблюдала дистанцию, законом свыше нам данную, и вообще бабой неразумной является, причиной грехопадения Адамова.
————–

Статьи по теме: Интересные посты блогеров

Posted in Без рубрики | No Comments »

Using subdomains for modules in Zend Framework

августа 7, 2007 by admin

Потратил много времени на настройку router-а в Zend Framework. Сначала пытался использовать mod_rewrite. Но не получилось из-за того, что там нельзя без редиректа “реврайтить” допустим, вот это http://username.example.com/ на http://example.com/user/username. Даже если может и можно, но остальное после {SERVER_NAME}-а он воспринимает не так, как мне нужно.

Затем пытался реализовать это с помощью Zend_Controller_Router_Route_Module. Но, ни в документации, ни на форумах об этом классе не сказано ни слова (и не говорят). Поэтому я очень скоро отказался от этой идеи. И сегодня я смог, наконец, сделать это. Все оказалось намного проще:

$router = new Zend_Controller_Router_Rewrite();

$server_host = explode(’.', $_SERVER[’HTTP_HOST’]);$count = count($server_host);

if ( $count==3 && $server_host[0]!=’www’ ) {

      $subdomain = $server_host[0];      $router->addRoute(          ‘user’,          new Zend_Controller_Router_Route(’:controller/:action’,                   array(’module’=>’user’,                          ‘username’ => $subdomain,                          ‘controller’ => ‘index’,                          ‘action’ => ‘index’))          );}

$frontController->setRouter($router);

Разумеется, для того, чтобы этот пример работал, вам нужно чтобы в VirtualHost было прописано автоматическое определение всех поддоменов как главного домена.

Не уверен, что это лучшее решение, но другого пока не нашел. Возможно вы мне подскажете?

Статьи по теме: Using subdomains modules Zend Framework

Posted in Без рубрики | No Comments »

Интересная подборка ссылок.

августа 2, 2007 by admin

Microsoft представила P2P-клиент
P2P-клиент – разработка, которую меньше всего можно было ожидать от Microsoft.
……………
да уж и точно инкто такого не мог ожидать. Но думаю будет вполне оправданно по экономии ресурсов.

В сентябре на YouTube появится система фильтрации видеороликов
Google и YouTube надеются, что внедрение фильтрующей технологии позволит сократить количество судебных исков о нарушении копирайта, обрушившихся на видеохостинг.
……………
Ну вот. А я только недавно говорил в этом блоге, что в будующем будет система распознавания в видео.. Неожиданно как-то будующее подкатило. :-)

Немецкая полиция будет использовать шпионское ПО для проведения онлайн-обысков частных компьютеров
По мнению де Мезьера, необходимо обновить законы в соответствии с требованиями времени, поскольку Интернет как средство коммуникации приобретает все большее значение.
……………
Полиция тоже не стоит на месте. Понравился комментарий к статье:
“Предлогаю всем пользователям компьютеров и ноутбуков подать в суд на полицию за распространение шпионского ПО.”
:-)

С Уважением, SEOCoding.
SEO Глазами Программиста

Posted in Без рубрики | No Comments »

Вперед »