<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог GTAlex - о работе в сети и не только &#187; программирование</title>
	<atom:link href="http://gtalex.ru/tag/programmirovanie/feed" rel="self" type="application/rss+xml" />
	<link>http://gtalex.ru</link>
	<description>SEO, Яндекс, Google, PHP, Apache, nginx, CMS, создание, взлом и защита сайтов...</description>
	<lastBuildDate>Wed, 01 Feb 2012 10:05:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>WAP версия bash.org.ru</title>
		<link>http://gtalex.ru/wap-versiya-bash-org-ru</link>
		<comments>http://gtalex.ru/wap-versiya-bash-org-ru#comments</comments>
		<pubDate>Wed, 25 Aug 2010 14:22:25 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wap]]></category>
		<category><![CDATA[Грабер]]></category>
		<category><![CDATA[парсер]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[скрипт]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=1315</guid>
		<description><![CDATA[ 
Возможно многие посчитают мой сегодняшний труд напрасным, т.к. многие современные телефоны нормально справляются и с обычной версией цитатника рунета, но мой Samsung D900 ругается на слишком большой объем документа, а выделить 5 минут на отдых&#160;&#8212; почитать свежих цитат я люблю.
Официальной WAP версии я не нашел, долгое время мучался с виджет-версией баша ideawidgets.ru&#160;&#8212; постоянные подвисоны [...]]]></description>
			<content:encoded><![CDATA[<p> <a href="http://wap.gtalex.ru/"><img class="alignleft size-medium wp-image-1316" title="bash" src="http://blog.gtalex.ru/wp-content/uploads/2010/08/bash-300x300.jpg" alt="bash" width="300" height="300" /></a></p>
<p>Возможно многие посчитают мой сегодняшний труд напрасным, т.к. многие современные телефоны нормально справляются и с обычной версией цитатника рунета, но мой Samsung D900 ругается на слишком большой объем документа, а выделить 5 минут на отдых&nbsp;&mdash; почитать свежих цитат я люблю.</p>
<p>Официальной WAP версии я не нашел, долгое время мучался с виджет-версией баша ideawidgets.ru&nbsp;&mdash; постоянные подвисоны с дальнейшей переактивацией просто выбесили... потом нашел таки чьё то творение, полностью меня устраивающее&nbsp;&mdash; <a href="http://wapbash.org.ru/?url=wap.gtalex.ru" target="_blank">wapbashorg.ru</a>, но к величайшему моему сожалению с неделю назад меня стало редиректить на какой то &laquo;Вы очевидец&raquo;.</p>
<p>В итоге решил сделать свой проектик <a href="http://wap.gtalex.ru/" target="_blank">WAP версии bash.org.ru</a> чем сегодня и занимался (ушло больше времени чем планировал&nbsp;&mdash; поначалу думал часа за два справлюсь). Завтра ещё допишу парсер RSS ленты,  и в крон её&nbsp;&mdash; и вуаля !</p>
<p>Дизайн тупо скоммуниздил с wapbashorg, выкинув лишнее (будет время возможно переделаю), контент решил позаимствовать у первоисточника&nbsp;&mdash; грабер-парсер раза на 3 переписывал (всё оптимизировал).</p>
<p>В итоге получилось, что получилось <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Прошу любить и жаловать:  <strong><a title="wap bash.org.ru" href="http://wap.gtalex.ru/" target="_blank">wap.gtalex.ru</a></strong></p>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=WAP+%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F+bash.org.ru+http://tinyurl.com/6f7mc5u" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=WAP+%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F+bash.org.ru+http://tinyurl.com/6f7mc5u" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/wap-versiya-bash-org-ru/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Скрипт отслеживания изменений в файлах</title>
		<link>http://gtalex.ru/skript-otslezhivaniya-izmenenij-v-fajlax</link>
		<comments>http://gtalex.ru/skript-otslezhivaniya-izmenenij-v-fajlax#comments</comments>
		<pubDate>Mon, 23 Aug 2010 10:07:39 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[Полезности]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[полезные скрипты]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[скрипт отслеживания изменений]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=1298</guid>
		<description><![CDATA[ 
Этот скрипт как и предыдущий, контролирующий доступность сервера, нужно было написать ещё 5 лет тому назад. Последней каплей сподвинувшей стал взлом одного из моих сайтиков, в результате чего сильно попадали позиции  
В общем идея как всегда очень простая, даже не знаю почему хостеры не предоставляют подобный функционал:
Раз в (период времени) делается &#171;снимок&#187; файловой [...]]]></description>
			<content:encoded><![CDATA[<p> <center><a href="http://blog.gtalex.ru/wp-content/uploads/2010/08/apple_worm2.jpg"><img class="aligncenter size-full wp-image-1306" title="apple_worm" src="http://blog.gtalex.ru/wp-content/uploads/2010/08/apple_worm2.jpg" alt="apple_worm" width="500" height="152" /></a></center></p>
<p>Этот скрипт как и предыдущий, <a href="http://blog.gtalex.ru/skript-proverki-dostupnosti-sajta" target="_blank">контролирующий доступность сервера</a>, нужно было написать ещё 5 лет тому назад. Последней каплей сподвинувшей стал <a href="http://blog.gtalex.ru/polomali-moj-sajt-posledstviya-i-vyvody" target="_blank">взлом одного из моих сайтиков</a>, в результате чего сильно попадали позиции <img src='http://gtalex.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>В общем идея как всегда очень простая, даже не знаю почему хостеры не предоставляют подобный функционал:</p>
<p>Раз в (период времени) делается &laquo;снимок&raquo; файловой системы (например корневой каталог вашего сайта) с учётом поддиректорий (в принципе в список можно добавить исключения) и сливается с результатами снимка сделанного за предыдущий запуск скрипта, если есть разногласия в размерах файлов (сначала md5 делал&nbsp;&mdash; в конечном итоге подумал, что достаточно и размера ...) информируем владельца сайта о найденных разногласиях.</p>
<p>По началу сваял скрипт не используя выгрузки в файлы&nbsp;&mdash; всё на массивах, но он не выдержал проверки моего основного рабочего домена&nbsp;&mdash; там сотни тысяч файлов&nbsp;&mdash; сдох по нехватке памяти.</p>
<p>После чего вообще решил только практически на командах ОС всё сделать &laquo;<em><strong>ls -lR</strong></em>&raquo; + &laquo;<em><strong>diff</strong></em>&raquo;, но так и не получилось вывести в ls файлы с полным абсолютным путём,  в конечном итоге получился некий симбиоз который и выкладываю на ваш суд: <span id="more-1298"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">set_time_limit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ignore_user_abort</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #990000;">ini_set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'display_errors'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">ini_set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;error_reporting&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">E_ALL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// папочка, которую контролируем (включая подпапки)</span>
<span style="color: #000088;">$rootdir</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./&quot;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// куда кладём инфу о изменениях</span>
<span style="color: #000088;">$diffdir</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;./diffdir/&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// настройки для оповещения мылом</span>
<span style="color: #000088;">$mailto</span>  <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;admin@gmail.com&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$subject</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Allert&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$message</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;dBug.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// этот дебаг класс для отображения расхождений, берём тута  http://dbug.ospinto.com</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// если id задан смотрим старые изменения по номеру</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$buf</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">new</span> dBug<span style="color: #009900;">&#40;</span><span style="color: #990000;">unserialize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$buf</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">rename</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;curr.txt&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;old.txt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #990000;">dir</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;rename error&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;curr.txt&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;a+&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//собираем длинны всех файлов указанной директории $rootdir</span>
checkmd<span style="color: #009900;">&#40;</span><span style="color: #000088;">$rootdir</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// непосредственно сравнивает два файла (средствами команды ОС diff)</span>
<span style="color: #990000;">exec</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;diff &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;curr.txt &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;old.txt &amp;gt;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;diff.txt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// обрабатываем и выплёвываем в удобный нам вид результат предыдущей команды</span>
<span style="color: #000088;">$arr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;diff.txt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$arr</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$ar</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$str</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ar</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot; <span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">@</span><span style="color: #990000;">list</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dir</span><span style="color: #339933;">,</span><span style="color: #000088;">$len</span><span style="color: #339933;">,</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">split</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$str</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// пропускаем файлы из папки diffstat</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">,</span><span style="color: #000088;">$diffdir</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$diff</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$dir</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$len</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$message</span><span style="color: #339933;">.=</span><span style="color: #000088;">$file</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$dir</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$len</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">// оповещаем о изменениях на мыло</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diff</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #990000;">mail</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mailto</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diffdir</span><span style="color: #339933;">.</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><span style="color: #990000;">serialize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$diff</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">new</span> dBug<span style="color: #009900;">&#40;</span><span style="color: #000088;">$diff</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;changes not found&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// функция сбора информации о файлах в директории</span>
<span style="color: #000000; font-weight: bold;">function</span> checkmd<span style="color: #009900;">&#40;</span><span style="color: #000088;">$cat</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$fp</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dir</span> <span style="color: #339933;">=</span> <span style="color: #990000;">dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cat</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$dir</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>read<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'.'</span> or <span style="color: #000088;">$file</span><span style="color: #339933;">==</span><span style="color: #0000ff;">'..'</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_dir</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cat</span><span style="color: #339933;">.</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
checkmd<span style="color: #009900;">&#40;</span><span style="color: #000088;">$cat</span><span style="color: #339933;">.</span><span style="color: #000088;">$file</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000088;">$md5</span> <span style="color: #339933;">=</span> <span style="color: #990000;">filesize</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cat</span><span style="color: #339933;">.</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">fwrite</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span><span style="color: #000088;">$md5</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$cat</span><span style="color: #339933;">.</span><span style="color: #000088;">$file</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><br/><br />
<Хвостовой><br />
<a href=" http://richworldteam.ru/missiya/shkola/" title="школа Интернет бизнеса">Онлайн обучение бизнесу</a> все сильнее входит в нашу жизнь. Благодаря развитию Интернета, теперь каждый может воспользоваться такой возможностью.<br />
</Хвостовой></p>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82+%D0%BE%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9+%D0%B2+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D1%85+http://tinyurl.com/3awwrfa" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82+%D0%BE%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F+%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B9+%D0%B2+%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D1%85+http://tinyurl.com/3awwrfa" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/skript-otslezhivaniya-izmenenij-v-fajlax/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Простая корзина на Ajax</title>
		<link>http://gtalex.ru/prostaya-korzina-na-ajax</link>
		<comments>http://gtalex.ru/prostaya-korzina-na-ajax#comments</comments>
		<pubDate>Fri, 18 Jun 2010 02:42:32 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=1215</guid>
		<description><![CDATA[ 
Собственно, связавшись с белым SEO приходится понемногу заниматься и дизайном и вёрсткой и WEB программированием&#160;&#8212; чего в дорвейном деле у меня практически не было&#160;&#8212; делалось то в основном для робота, а не для человека. Можно конечно и нанимать дизайнеров, программистов&#160;&#8212; но это всё в будущем, т.к. я считаю, что для того чтобы правильно оценивать [...]]]></description>
			<content:encoded><![CDATA[<p> <a href="http://blog.gtalex.ru/wp-content/uploads/2010/06/ajax.jpg"><img class="alignright size-full wp-image-1216" title="ajax" src="http://blog.gtalex.ru/wp-content/uploads/2010/06/ajax.jpg" alt="ajax" width="320" height="320" /></a></p>
<p>Собственно, связавшись с белым SEO приходится понемногу заниматься и дизайном и вёрсткой и WEB программированием&nbsp;&mdash; чего в дорвейном деле у меня практически не было&nbsp;&mdash; делалось то в основном для робота, а не для человека. Можно конечно и нанимать дизайнеров, программистов&nbsp;&mdash; но это всё в будущем, т.к. я считаю, что для того чтобы правильно оценивать труд необходимо в этой области хоть немного понимать, а ещё лучше иметь собственный опыт. Для этого я  и решил углубляться в WEB технологии и сваять своими руками для конкретного сайта заказчика корзину заказов с использованием технологии Ajax.</p>
<p>В первый же день знакомства с продвинутыми WEB технологиями мне понравилось, что во первых в сети довольно много всякого рода справочной информации, примеров, статей. А что понравилось больше всего&nbsp;&mdash; дак это то, что практически везде на сайтах открытый javascript код&nbsp;&mdash; никакой обфускации и тем более кодирования&nbsp;&mdash; бери и изучай рабочий уже отлаженный код реальных сайтов.<span id="more-1215"></span>Например в данный момент для меня предметом для изучения и конечно же немного &laquo;сдирания&raquo; кода является сайтик <a href="http://komus.ru/" target="_blank">интернет-магазина Комус</a>. (ловите ребята честную ссылку, взамен на ваш код ... хоть у вас и без меня PR5 да ТИЦ 750). Магазин довольно крупный&nbsp;&mdash; специалисты над сайтом трудятся явно не новички, что собственно сразу видно по дизайну и коду.</p>
<p>Ладно&nbsp;&mdash; продолжим ... вообще то изучение чужого кода у меня было уже вторым этапом, первым всё таки хотелось получить своего рода &laquo;hello world&raquo; с использованием технологии Ajax, с использованием самых простейших примеров и каких нить статей для чайников.</p>
<p>А конкретно&nbsp;&mdash; задумал я, для начала сваять страничку с количественным заказом товара:   поле ввода, кнопочки для увеличения/уменьшения количества и кнопкой добавления в корзину (передачи данных серверу)&nbsp;&mdash; всё это конечно же без перезагрузки страницы.</p>
<p>Для реализации Ajax технологии я выбрал jQuery&nbsp;&mdash; наипопулярнейший в последнее время JavaScript фреймворк. И после недолгих изучений материала получилось такое чудо-юдо</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;js/jquery.min.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;'text/javascript'&quot;</span><span style="color: #339933;">&gt;&lt;!--</span>mce<span style="color: #339933;">:</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">--&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;'text/javascript'&quot;</span><span style="color: #339933;">&gt;&lt;!--</span>mce<span style="color: #339933;">:</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">--&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;sub&quot;</span><span style="color: #339933;">&gt;-&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;id1&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;count&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;1&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;inc&quot;</span><span style="color: #339933;">&gt;+&lt;/</span>div<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;order&quot;</span><span style="color: #339933;">&gt;</span>ORDER<span style="color: #339933;">&lt;/</span>div<span style="color: #339933;">&gt;</span></pre></div></div>

<p>УРА&nbsp;&mdash; жмякаем плюсик&nbsp;&mdash; давим на Оrder&nbsp;&mdash; получаем результат&nbsp;&mdash; я счастлив <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Серверная сторона принимала количество count в POST запросе и тупо возвращала строку &laquo;Ordered количество&raquo; + ещё на всякий случай выгружала кол-во в файлик.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #000088;">$count</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'count'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Ordered <span style="color: #006699; font-weight: bold;">$count</span> items&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'test.txt'</span><span style="color: #339933;">,</span><span style="color: #000088;">$count</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Собственно&nbsp;&mdash; начало было положено, далее по плану задача масштабировалась&nbsp;&mdash; на страницу помещалось несколько подобных форм и нужно было в серверную часть кроме количества передавался ещё и Id товара ! Для этого скрипт Javascript нужно было научить различать места ввода, причем обработчик для всех должен быть один. На этом моменте я  и решил поинтересоваться как это реализовано у Комуса <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (поначалу конечно погуглил&nbsp;&mdash; но ничего толкового не нашел).</p>
<p>Решение мне понравилось&nbsp;&mdash; ИМХО довольно элегантное :</p>
<p>Параметры ID товара и ещё какие то дополнительные выводились на страницу в формах товара как input type="hidden"</p>
<p>Обрабатывался клик по кнопке input type="image" с определенным id="cFm_128729_3", одноименным с формой&nbsp;&mdash; этот id передавался в фунцию с параметром nameForm, далее параметры вытаскивались уже просто</p>
<p>formName = document.forms[nameForm];<br />
count = formName.elements['count'];<br />
itemID = formName.elements['itemID'];</p>
<p>Вуаля&nbsp;&mdash; далее уже &laquo;дело техники&raquo;.</p>
<p>Более детально с реализацией на Комусе любой желающий может ознакомиться непосредственно с первоисточника. Кстати за счёт именно такой реализации на формах&nbsp;&mdash; функциональность скрипта остаётся даже при выключенном Javascript (что лишний раз подтверждает профессиональность кодера).</p>
<p>Я же пошел огранять сий алмаз, в виде полученной информации, и адаптировать его для конкретного сайта (подгонка дизайна, верстка html + css, отладка клиентских да серверных скриптов, взаимодействие с MySQL&nbsp;&mdash; в общем работы ещё валом)</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 401px; width: 1px; height: 1px; overflow: hidden;">&lt;!DOCTYPE html PUBLIC &laquo;-//W3C//DTD XHTML 1.0 Transitional//EN&raquo; &laquo;http://www.w3.org/TR/2002/REC-xhtml1&minus;20020801/DTD/xhtml1-transitional.dtd&raquo;&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;script type=&#39;text/javascript&#39; src=&#39;js/jquery.min.js&#39;&gt;&lt;/script&gt;<br />
&lt;script type=&#39;text/javascript&#39;&gt;</p>
<p>$(document).ready(function(){</p>
<p>$(&#39;#inc&#39;).click(function(){<br />
$id = parseInt($(&laquo;#id1&raquo;).val()) + 1;<br />
$(&laquo;#id1&raquo;).attr(&laquo;value&raquo;,"&laquo;+$id+&raquo;");<br />
})</p>
<p>$(&#39;#sub&#39;).click(function(){<br />
document.getElementById(&#39;id1&#39;).value = parseInt(document.getElementById(&#39;id1&#39;).value)&nbsp;&mdash; 1;<br />
})</p>
<p>$(&#39;#order&#39;).click(function(){<br />
id = parseInt($(&laquo;#id1&raquo;).val());</p>
<p>$.ajax({<br />
type: &laquo;POST&raquo;,<br />
url: &laquo;test.php&raquo;,<br />
data: &laquo;count=&raquo;+id,<br />
success: function(msg){<br />
$(&laquo;#text&raquo;).html(msg);<br />
}<br />
});<br />
})<br />
});</p>
<p>&lt;/script&gt;</p>
<p>&lt;/head&gt;<br />
&lt;body&gt;</p>
<p>&lt;div id="sub"&gt;-&lt;/div&gt;<br />
&lt;input id=&#39;id1&#39; name=&#39;count&#39; type=&#39;text&#39; value=&#39;1&#39; onfocus=&#39;this.blur(); return false;&#39; &gt;<br />
&lt;div id="inc"&gt;+&lt;/div&gt;<br />
&lt;div id="order"&gt;ORDER&lt;/div&gt;<br />
&lt;div id="text"&gt;&lt;/div&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p>
</div>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B0%D1%8F+%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0+%D0%BD%D0%B0+Ajax+http://tinyurl.com/6yuq99g" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%B0%D1%8F+%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0+%D0%BD%D0%B0+Ajax+http://tinyurl.com/6yuq99g" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/prostaya-korzina-na-ajax/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP код в посты и виждеты WordPress</title>
		<link>http://gtalex.ru/storonnij-php-kod-v-posty-i-vizhdety-wordpress-bloga</link>
		<comments>http://gtalex.ru/storonnij-php-kod-v-posty-i-vizhdety-wordpress-bloga#comments</comments>
		<pubDate>Thu, 19 Nov 2009 09:53:17 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[Новости / Обзоры]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[плагины]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=850</guid>
		<description><![CDATA[ Порой необходимо исполнить  php код прямо в посте или в виджете, решение:

Качаем архивчик
Распаковываем в /wp-content/plugins/
Активируем оба плагина в админке

Вуаля
P.S.
Никак SyntaxHighlighter Plus не могу заставить работать  
[source]код[/source]
[sourcecode language='php']код[/sourcecode]
[php]code here[/php]
&#169;  Блог GTAlex  - деньги из паутины 
 ReTweet
]]></description>
			<content:encoded><![CDATA[<p> Порой необходимо исполнить  php код прямо в посте или в виджете, решение:</p>
<ol>
<li>Качаем <a href="http://blog.gtalex.ru/files/upload/php.zip" target="_blank">архивчик</a></li>
<li>Распаковываем в /wp-content/plugins/</li>
<li>Активируем оба плагина в админке</li>
</ol>
<p>Вуаля</p>
<p>P.S.</p>
<p>Никак SyntaxHighlighter Plus не могу заставить работать <img src='http://gtalex.ru/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>[source]код[/source]<br />
[sourcecode language='php']код[/sourcecode]<br />
[php]code here[/php]</p>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=PHP+%D0%BA%D0%BE%D0%B4+%D0%B2+%D0%BF%D0%BE%D1%81%D1%82%D1%8B+%D0%B8+%D0%B2%D0%B8%D0%B6%D0%B4%D0%B5%D1%82%D1%8B+WordPress+http://tinyurl.com/6douuec" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=PHP+%D0%BA%D0%BE%D0%B4+%D0%B2+%D0%BF%D0%BE%D1%81%D1%82%D1%8B+%D0%B8+%D0%B2%D0%B8%D0%B6%D0%B4%D0%B5%D1%82%D1%8B+WordPress+http://tinyurl.com/6douuec" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/storonnij-php-kod-v-posty-i-vizhdety-wordpress-bloga/feed</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>PHP Expert Editor</title>
		<link>http://gtalex.ru/php-expert-editor</link>
		<comments>http://gtalex.ru/php-expert-editor#comments</comments>
		<pubDate>Tue, 22 Sep 2009 09:29:56 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[Новости / Обзоры]]></category>
		<category><![CDATA[Полезности]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[кодинг]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=751</guid>
		<description><![CDATA[ Достала меня всё таки эта UTF-8 кодировка !
WordPress нервировал постоянно, другие всякие мелкие проги, а щас ещё и CodeIgniter туда же ...
Хоть я свою связочку, которую для PHP кодинга испоьзовал&#160;&#8212; FAR + Colorer, плагином Unicode Wizard научил с этой кодировкой работать&#160;&#8212; всё равно не удобно нифига. Теряется основной смысл, почему я FAR и юзал&#160;&#8212; [...]]]></description>
			<content:encoded><![CDATA[<p> Достала меня всё таки эта UTF-8 кодировка !<br />
WordPress нервировал постоянно, другие всякие мелкие проги, а щас ещё и CodeIgniter туда же ...<br />
Хоть я свою связочку, которую для PHP кодинга испоьзовал&nbsp;&mdash; FAR + Colorer, плагином Unicode Wizard научил с этой кодировкой работать&nbsp;&mdash; всё равно не удобно нифига. Теряется основной смысл, почему я FAR и юзал&nbsp;&mdash; быстрота правки.<br />
Ну собственно по теме поста уже видимо догадались, что за замену я себе выбрал для кодинга в PHP <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Итак представляю продукт <strong>PHP Expert Editor</strong></p>
<p><span id="more-751"></span> Перечислю основные плюсы, которые мне понравились</p>
<ul>
<li>Русский интерфейс  (регистрация для русских бесплатна)</li>
<li>Поддержка UTF-8   <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Настройка редактора (табуляции, автоотступы и пр. полезные фишки)</li>
<li>Проверка синтаксиса на лету + подсказки по функциям PHP</li>
<li>Шаблоны</li>
<li>Встроенный браузер</li>
<li>Возможность дебага кода (у меня с зендом не пошло&nbsp;&mdash; пришлось отрубать, чтоб проверить фичу)</li>
<li>Свёртывание кода (порой удобно свернуть цикл или какой нить if )&nbsp;&mdash; структура читабельней получается</li>
<li>Авто&nbsp;&mdash; контроль скобок</li>
<li>Удобный менеджер кода&nbsp;&mdash; видно всё&nbsp;&mdash; от классов, функций до переменных</li>
<li>Подключение chm справки по php</li>
<li>Горячие клавиши</li>
<li>и много других полезных фенечек ...</li>
</ul>
<p>и как я без всего этого раньше программировал ?! <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>P.S.</p>
<p>По умолчанию дебаггер не пашет, чтоб заработало делаем следующее</p>
<p>из папочки \DBG\PHP_DBG.DLL\ переименовываем и копируем в папку с расширениями нужную dll</p>
<p>далее добавляем в php.ini</p>
<p>; подрубаем расширение дебага</p>
<p>extension=php_dbg.dll</p>
<p>...</p>
<p>; добавляем секцию как есть</p>
<p>[Debugger]<br />
debugger.enabled = true<br />
debugger.JIT_host = 127.0.0.1<br />
debugger.JIT_port = 7869<br />
debugger.enable_session_cookie = false<br />
debugger.profiler_enabled = true</p>
<p>вуаля</p>
<p>напомню что с зендом у меня не заработало&nbsp;&mdash; аппач сваливался с ошибкой при дебаге</p>
<p>PS</p>
<p>Ну что-же &nbsp;&mdash; продолжаем потихоньку линковаться, на сей раз постовой&nbsp;&mdash; молодому блогу, практически наблюдаем рождение нового бомжа <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  на сей раз это <a href="http://seo-ufa.ru/" target="_blank">амбизиозный SEO вебмастер из Уфы</a></p>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=PHP+Expert+Editor+http://tinyurl.com/6jowrg5" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=PHP+Expert+Editor+http://tinyurl.com/6jowrg5" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/php-expert-editor/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Универсальный PHP граббер</title>
		<link>http://gtalex.ru/universalnyj-php-grabber</link>
		<comments>http://gtalex.ru/universalnyj-php-grabber#comments</comments>
		<pubDate>Fri, 04 Sep 2009 08:12:02 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[граббер]]></category>
		<category><![CDATA[кодинг]]></category>
		<category><![CDATA[парсер]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[скрипт]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=686</guid>
		<description><![CDATA[ Серфил по инету&#160;&#8212; на одном портальчике наткнулся на довольно ценную информацию, на основе которой, по моей идее, можно сварганить еще более интересный сайтик и собирать целевой траф  -  в общем для опытов мне понадобился сайт донор ЦЕЛИКОМ.
Сваял скриптик для полного &#171;сдутия&#187; сайта&#160;&#8212; этакой универсальный граббер на PHP, win32 приложений таких полно, а вот серверных [...]]]></description>
			<content:encoded><![CDATA[<p> Серфил по инету&nbsp;&mdash; на одном портальчике наткнулся на довольно ценную информацию, на основе которой, по моей идее, можно сварганить еще более интересный сайтик и собирать целевой траф  -  в общем для опытов мне понадобился сайт донор ЦЕЛИКОМ.</p>
<p>Сваял скриптик для полного &laquo;сдутия&raquo; сайта&nbsp;&mdash; этакой универсальный граббер на PHP, win32 приложений таких полно, а вот серверных nix решений не нашел (скорее всего снова изобретение велосипеда&nbsp;&mdash; но минут 15 моих поисков в поисковиках не увенчались успехом).</p>
<p>Итак:</p>
<p>На входе любая ссылка с сайта&nbsp;&mdash; на выходе папочка содержащая все файлы с данного сайта (всё куда мог дотянуться граббер).  Грабятся только внутренние ссылки&nbsp;&mdash; внешние полностью игнорируются.</p>
<p>Сохраняются все файлы, найденные по  маске href= ... и  src= ...</p>
<p>Кому интересно&nbsp;&mdash; готов обсудить цену вопроса.</p>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9+PHP+%D0%B3%D1%80%D0%B0%D0%B1%D0%B1%D0%B5%D1%80+http://tinyurl.com/66elukw" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9+PHP+%D0%B3%D1%80%D0%B0%D0%B1%D0%B1%D0%B5%D1%80+http://tinyurl.com/66elukw" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/universalnyj-php-grabber/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Морфологический синонимайзер на базе PHPMorphy</title>
		<link>http://gtalex.ru/morfologicheskij-sinonimajzer-na-baze-phpmorphy</link>
		<comments>http://gtalex.ru/morfologicheskij-sinonimajzer-na-baze-phpmorphy#comments</comments>
		<pubDate>Fri, 07 Aug 2009 09:54:27 +0000</pubDate>
		<dc:creator>GTAlex</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Полезности]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[морфология]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[синонимайзер]]></category>

		<guid isPermaLink="false">http://blog.gtalex.ru/?p=648</guid>
		<description><![CDATA[ Взялся я таки за написание собственного морфологического синонимайзера. Бета Версия 1.0 готова !
Морфологического потому, что замена синонимов идет не в тупую, а сначала слово приводится к нормальной форме,  к нему подбирается синоним и синоним переводится в туже морфологическую форму, что и было исходное слово.
типа такого
КРЕСЛОМ =&#62; (преобразуем в нормальную форму) =&#62; КРЕСЛО =&#62; подбираем [...]]]></description>
			<content:encoded><![CDATA[<p> Взялся я таки за написание собственного морфологического синонимайзера. Бета Версия 1.0 готова !</p>
<p>Морфологического потому, что замена синонимов идет не в тупую, а сначала слово приводится к нормальной форме,  к нему подбирается синоним и синоним переводится в туже морфологическую форму, что и было исходное слово.</p>
<p>типа такого</p>
<p>КРЕСЛОМ =&gt; (преобразуем в нормальную форму) =&gt; КРЕСЛО =&gt; подбираем синоним из базы =&gt; КАЧАЛКА =&gt; (преобразуем в туже морфологическую форму что и было) =&gt;<strong>КАЧАЛКОЙ</strong></p>
<p>По сути сам ничего и не делал <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Бесплатные базы взял с сайта конкурента <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <strong> <a href="http://blogka.ru/" target="_blank">Семантический Серверный Синонимайзер Рерайтер</a></strong> (по работе синонимайзера поймете почему они бесплатные <img src='http://gtalex.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &nbsp;&mdash; уже есть идеи как их пофильтровать с использованием PHPMorphy). (Залил sql файлы в том виде как и было, только индексы добавил по нужным полям).</p>
<p>Класс PHPMorphy (вообще ВЕЩЬ!!!), работающий с морфологией взял на <a href="http://phpmorphy.sourceforge.net/" target="_blank">sourceforge.net</a> очень сильно помог разработчик этого класса с ником Жиган&nbsp;&mdash; общение с ним происходило на <a href="http://phpclub.ru/talk/showthread.php?s=&amp;postid=864415" target="_blank">ветке форума PHPClub</a>, посвященной классу PHPMorphy. Возможности класса по истине впечатляют&nbsp;&mdash; советую! Разработчик постоянно улучшает и модифицирует класс. (посмотрев код по классу программирования ощутил себя ребенком по сравнению с автором, реально профессионал).</p>
<p>Есть режим работы синонимайзера в режиме формирования скелета для замен, включу на общий доступ чуть позже.</p>
<p>С заглавными буквами тоже позже разберусь&nbsp;&mdash; пока всё строчное.</p>
<p>В общем все желающие могут <strong><a href="http://seo.gtalex.ru/phpmorphy/" target="_blank">опробовать синонимазер </a></strong>в работе.</p>
<p>Буду рад выслушать ваши мнения и особенно идеи в улучшении сервиса.</p>
<p>P.S.<br />
Изменения в версиях, свои соображения, а также Ваши предложения переносятся в одноименную тему на форуме &laquo;<a href="http://forum.gtalex.ru/index.php?topic=2.0">Морфологический синонимайзер на базе PHPMorphy</a>&raquo;</p>
<p>ВЕЛКАМ !</p>
<p><center>&copy; <a href="http://blog.gtalex.ru/"> Блог GTAlex </a> - деньги из паутины </center></p>
<p align="center"><a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%9C%D0%BE%D1%80%D1%84%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9+%D1%81%D0%B8%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%B0%D0%B9%D0%B7%D0%B5%D1%80+%D0%BD%D0%B0+%D0%B1%D0%B0%D0%B7%D0%B5+PHPMorphy+http://tinyurl.com/69gq6x2" title="Post to Twitter"><img class="nothumb" src="http://gtalex.ru/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://twitter.com/home/?status=%D0%9C%D0%BE%D1%80%D1%84%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9+%D1%81%D0%B8%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%B0%D0%B9%D0%B7%D0%B5%D1%80+%D0%BD%D0%B0+%D0%B1%D0%B0%D0%B7%D0%B5+PHPMorphy+http://tinyurl.com/69gq6x2" title="Post to Twitter">ReTweet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://gtalex.ru/morfologicheskij-sinonimajzer-na-baze-phpmorphy/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

