<?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>AeroStyle &#187; PHP</title>
	<atom:link href="http://aerostyle.net.ua/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://aerostyle.net.ua</link>
	<description>Бібліотека корисної інформації по веб-технологіям</description>
	<lastBuildDate>Sun, 08 Aug 2010 16:49:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP-кодеру на пам’ять. Випуск 2</title>
		<link>http://aerostyle.net.ua/2009/10/30/php-%d0%ba%d0%be%d0%b4%d0%b5%d1%80%d1%83-%d0%bd%d0%b0-%d0%bf%d0%b0%d0%bc%e2%80%99%d1%8f%d1%82%d1%8c-%d0%b2%d0%b8%d0%bf%d1%83%d1%81%d0%ba-2/</link>
		<comments>http://aerostyle.net.ua/2009/10/30/php-%d0%ba%d0%be%d0%b4%d0%b5%d1%80%d1%83-%d0%bd%d0%b0-%d0%bf%d0%b0%d0%bc%e2%80%99%d1%8f%d1%82%d1%8c-%d0%b2%d0%b8%d0%bf%d1%83%d1%81%d0%ba-2/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 23:15:22 +0000</pubDate>
		<dc:creator>Цінитель</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://aerostyle.net.ua/?p=124</guid>
		<description><![CDATA[Можливі проблеми з UTF-8
Якщо в проекті використовуються файли з кодировкою Юнікод, то можлива наступна проблема:
Warning: Cannot modify header information &#8211; headers already sent by (output started at…
Якщо все перевірено, ніде немає зайвих пробілів і т.д., а проблема збереглась, то це може означати, що файл був збережений не в “чистому” UTF-8, а в UTF-8 з сигнатурою(BOM). [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><strong>Можливі проблеми з UTF-8</strong></p>
<p>Якщо в проекті використовуються файли з кодировкою Юнікод, то можлива наступна проблема:<br />
<strong>Warning: Cannot modify header information &#8211; headers already sent by (output started at…</strong><br />
Якщо все перевірено, ніде немає зайвих пробілів і т.д., а проблема збереглась, то це може означати, що файл був збережений не в “чистому” UTF-8, а в UTF-8 з сигнатурою(BOM). Деякі текстові редактори уміють зберігати файли в обох варіантах &#8211; наприклад Scite або Notepad2. Потрібно просто відкрити і зберегти файл в потрібній кодировці.<br />
Через UTF-8 з сигнатурою(BOM) можлива також поява порожнього рядку “нізвідки” при виводі HTML через PHP.</p>
<p style="text-align: right;"><strong>foreach &#8211; деякі особливості</strong></p>
<p>Щоб вивести певні результати за допомогою цього циклу можливі кілька варіантів. А от щоб ЗМІНИТИ САМ МАСИВ допустимий лише один шлях:<br />
Працює:</p>
<pre class="brush: php;">foreach($rows as $k=&amp;gt;$v){
$rows[$k]['news_date'] = date('r', strtotime($rows[$k]['news_date']));
}
</pre>
<p>Не працює (оскільки ми змінюємо змінну зі значенням, а не сам масив):</p>
<pre class="brush: php;">
foreach($rows as $k=&amp;gt;$v){
$v['news_date'] = date('r', strtotime($v['news_date']));
}
</pre>
<p style="text-align: right;"><strong>Змінні в PHP</strong></p>
<p><a href="http://www.intval.ru/2009/03/26/directory_separator-%D0%B8-path_separator/">Наштовхнувся</a> в одному блозі на цікавий пост присвячений двом змінним в РНР:<br />
DIRECTORY_SEPARATOR і PATH_SEPARATOR. </p>
<p><strong>DIRECTORY_SEPARATOR</strong> &#8211; як випливає з назви, зберігає розділювач між папками, який різниться в залежності від ОС (&#8217;/'- Unix, &#8216;\&#8217; &#8211; Windows).<br />
Незважаючи на те, що Windows зрозуміє вас навіть, якщо розділяти папки символом &#8216;/&#8217;, всеодно  коректніше використовувати DIRECTORY_SEPARATOR</p>
<p><strong>PATH_SEPARATOR </strong>- зберігає розділювач для параметру РНР include_path (всі шляхи, по яким ваші скрипти шукають бібліотеки для підключкення)<br />
Так ось, під Windows цей розділювач виглядає як &#8216;;&#8217; під Unix &#8211; &#8216;:&#8217;<br />
Коли потрібно підключити якусь бібліотеку (то й же Зенд) і працювати зі скриптом під різними ОС, виникають складнощі.<br />
Донедавна я вирішував ці складнощі &#8220;геніальним&#8221; скриптиком:</p>
<pre class="brush: php;">
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
ini_set('include_path', ini_get('include_path') . ';' . getcwd() . DS . '..' . DS. 'lib'  .';');//WIN
} else {
ini_set('include_path', ini_get('include_path') . ':' . getcwd() . DS . '..' . DS. 'lib'  . ':');//another OS
}
</pre>
<p>Зрозуміло, що в &#8220;цивілізованому світі&#8221; (а тепер і я) роблять по-іншому:</p>
<pre class="brush: php;">
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR. getcwd() . DS . '..' . DS. 'lib'  . PATH_SEPARATOR);
</pre>
<p style="text-align: right;"><strong>Правильний стиль написання коду від Zend</strong></p>
<p>For files that contain only PHP code, the closing tag (”?>”) is <strong>never</strong> permitted. It is not required by PHP, and omitting it´ prevents the accidental injection of trailing white space into the response<br />
Ось як воно&#8230; А взагалі, почитати <a href="http://framework.zend.com/manual/en/coding-standard.html">рекомендації</a> від Zend ніколи зайвим не буде.</p>
<p style="text-align: right;"><strong>Економія пам’яті в PHP</strong></p>
<p>При операціях з картинками на сервері варто слідкувати за витратами пам’яті на сервері і не забувати про функцію imagedestroy. Наприклад:</p>
<pre class="brush: php;">
$src = imagecreatefromjpeg($file_temp);
.... якийсь код
imagedestroy($src);
</pre>
<p>До речі, для тестування і моніторингу скільки саме пам’яті використовує РНР на певний момент, застосовується функція memory_get_usage() (без параметрів)</p>
]]></content:encoded>
			<wfw:commentRss>http://aerostyle.net.ua/2009/10/30/php-%d0%ba%d0%be%d0%b4%d0%b5%d1%80%d1%83-%d0%bd%d0%b0-%d0%bf%d0%b0%d0%bc%e2%80%99%d1%8f%d1%82%d1%8c-%d0%b2%d0%b8%d0%bf%d1%83%d1%81%d0%ba-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сесії в PHP та куки</title>
		<link>http://aerostyle.net.ua/2009/10/10/%d1%81%d0%b5%d1%81%d1%96%d1%97-%d0%b2-php-%d1%82%d0%b0-%d0%ba%d1%83%d0%ba%d0%b8/</link>
		<comments>http://aerostyle.net.ua/2009/10/10/%d1%81%d0%b5%d1%81%d1%96%d1%97-%d0%b2-php-%d1%82%d0%b0-%d0%ba%d1%83%d0%ba%d0%b8/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 20:09:34 +0000</pubDate>
		<dc:creator>Цінитель</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://aerostyle.net.ua/?p=93</guid>
		<description><![CDATA[Тема ніби не з найскладніших, проте в свій час я виявив в ній багато &#8220;нового та невідомого&#8221;. В результаті з&#8217;явилась ця стаття, в котрій я спробував базово окреслити основні особливості функціонування та використання вищезгаданих технологій.
Специфіка протоколу HTTP така, що він не підтримую постійного з’єднання. Тобто &#8220;кожний раз &#8211; як вперше&#8221;. Щоб якось ідентифікувати користувача використовуються [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://aerostyle.net.ua/wp-content/uploads/2009/11/c2.png" alt="c2" title="c2" width="250" height="167" class="alignleft size-full wp-image-94" />Тема ніби не з найскладніших, проте в свій час я виявив в ній багато &#8220;нового та невідомого&#8221;. В результаті з&#8217;явилась ця стаття, в котрій я спробував базово окреслити основні особливості функціонування та використання вищезгаданих технологій.</p>
<p>Специфіка протоколу HTTP така, що він не підтримую постійного з’єднання. Тобто &#8220;кожний раз &#8211; як вперше&#8221;. Щоб якось ідентифікувати користувача використовуються сесії та куки.</p>
<p><center><strong>Спочатку про куки</strong></center></p>
<p>Вперше звертаючись до сервера, браузер отримує відповідь, в якій будуть куки. Після цього всі свої звернення до сервера браузер буде супроводжувати “прикріпленням” отриманих кук.<br />
По стандарту вони мають структуру:<br />
<em>Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.example.net</em><br />
Кука має ім’я  RMID і значення «732423sdfs73242». Термін її зберігання сплине 31 грудня 2010 року в 23:59:59. Шлях «/» і домен «example.net» показують , що можна відкривати куку при перегляді будь-якої сторінки в домені example.net<br />
Браузери дозволяють(на даний момент) зберігати від 30 до 50 кук з одного домена. Firefox 3 наразі зберігає куки в файлі формату SQLite (на них можна подивитись через, скажімо, Firecookie ), ІЕ 7 куки зберігає в звичайних текстових файлах.</p>
<p><strong>Можливі ризики пов&#8217;язані з cookies:</strong><br />
1) Завдяки “стороннім” кукам, які можуть розміщуватись рекламними банерами, компанії-господарі цих банерів можуть відслідковувати куди переміщався користувач на сайтах де ці банери встановлені(вихід &#8211; можна заборонити браузеру приймати сторонні куки).<br />
Куки може зчитати лише той сайт, якому це ДОЗВОЛЕНО в параметрах конкретно взятого кука (якщо, звичайно, в самому браузері немає “дірок”)<br />
2)Перехоплення трафіка призведе до того, що інформація, яка міститься в куках потрапить до сторонніх людей (вихід &#8211; застосовувати https)<br />
3)Міжсайтовий скриптинг &#8211; куки передаються на домени, на які передаватись не мали б за допомогою JavaScript і т.д.(вихід &#8211; тут уже все залежить від надійності браузера та інших факторів, наприклад &#8211; чи ввімкнута в настройках РНР опція session.cookie_httponly)</p>
<p><strong>Використання в РНР:</strong><br />
<em>bool setcookie  ( string $name  [, string $value  [, int $expire  [, string $path  [, string $domain  [, bool $secure  [, bool $httponly  ]]]]]] )</em></p>
<li>string $name &#8211; ім’я куки
<li>string $value &#8211; її значення
<li>int $expire &#8211; термін використання, якщо немає &#8211; то до кінця сессії
<li>string $path &#8211; сторінка з яких кука буде доступна, якщо немає &#8211; то для всіх, що знаходяться в тому ж каталозі, в якому скрипт, що ВСТАНОВЛЮЄ цю куку.
<li>string $domain &#8211; домен куку, якщо немає &#8211; то встановлюється поточний
<li>bool $secure &#8211; якщо стоїть 1, то куки будуть передаватись на сервер тільки при HTTPS з’єднанні (але користувачу ці куки ВСТАНОВЛЮЮТЬСЯ і при звичайному з’єднанні). Наприклад: <em>setcookie(&#8221;name&#8221;, $value, time() + 600,&#8221;",&#8221;",1);</em>
<li>bool $httponly -(з’явився лише в РНР 5.2, якщо стоїть 1, то куки стануть доступні лише через HTTP протокол (і не доступні для JS та інших скриптів). А взагалі, цей параметр можна виставити і в настройках PHP.</li>
<p>Приклад:</p>
<pre class="brush: php;">setcookie(”name”, $value, time() + 600,”/web/index.php”, “.server.com”); //куки на 10 хвилин, доступні тільки з сторінки /web/index.php, яка знаходиться на одному з доменів server.com</pre>
<p><em>$_COOKIE['user_login']</em> &#8211; прочитати куку</p>
<p><em>setcookie(”name”)</em>  &#8211; видалити куку</p>
<p><center><strong>Сесії</strong></center></p>
<p>Сесії &#8211; це технологія, коли дані про користувача зберігаються на сервері. Де саме? Це залежить від параметрів (в РНР &#8211; це session.save_path)<br />
Найчастіше &#8211; це звичайні текстові файли(сесії можуть зберігати ще й в БД) з іменем sess_281a977c051ca8c5e24b30f2a492eec2.txt Тут <em>281a977c051ca8c5e24b30f2a492eec2</em> &#8211; це ідентифікатор сесії.</p>
<p>Але головна проблема &#8211; як зв’язати браузер і сервер? Зараз існують 2 шляхи:</p>
<p>1) Через куки &#8211; так робиться найчастіше. Але якщо куки відключенні і параметри дозволяють, то використовується спосіб 2:<br />
2)Через сторінку, яка повертається браузеру, сервер сам прописує ідентифікатор сесії в лінки сторінки, в результаті отримуються ссилки виду<br />
site.com.ua/files/Grupa.html?PHPSESSID=6b07180cc1935abde10e4cf0527db4b1<br />
Цей спосіб є не таким безпечним і значно менш популярним.<br />
Вибір між цими двома способами в PHP здійснюється через маніпуляцію параметрами <em>session.use_cookies,session.use_only_cookies, session.use_trans_sid</em></p>
<p>Час життя сесії як правило 24 хвилини(цей параметр по замовчуванню, його, звичайно, можна змінювати) з моменту останньої активності користувача.</p>
<p>Використання:</p>
<pre class="brush: php;">
session_start();
$_SESSION['username'] = “username”;</pre>
<p>Де зберігати дані &#8211; тільки в куках? Тільки в сесії? Найпоширенішою практикою зараз є використання сесії для зберігання даних та куків для збереження ідентифікатора сесії. Відповідно, якщо у користувачів відключені куки &#8211; то не працює і сесія.</p>
<p>P.S. В процесі розбору з цими технологіями сильно допомогли два плагіни для Firefox: Firecookie(по суті &#8211; це плагін для Firebug) і Live HTTP headers</p>
]]></content:encoded>
			<wfw:commentRss>http://aerostyle.net.ua/2009/10/10/%d1%81%d0%b5%d1%81%d1%96%d1%97-%d0%b2-php-%d1%82%d0%b0-%d0%ba%d1%83%d0%ba%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Підрахунок користувачів на сайті через сесію</title>
		<link>http://aerostyle.net.ua/2009/09/30/%d0%bf%d1%96%d0%b4%d1%80%d0%b0%d1%85%d1%83%d0%bd%d0%be%d0%ba-%d0%ba%d0%be%d1%80%d0%b8%d1%81%d1%82%d1%83%d0%b2%d0%b0%d1%87%d1%96%d0%b2-%d0%bd%d0%b0-%d1%81%d0%b0%d0%b9%d1%82%d1%96-%d1%87%d0%b5%d1%80/</link>
		<comments>http://aerostyle.net.ua/2009/09/30/%d0%bf%d1%96%d0%b4%d1%80%d0%b0%d1%85%d1%83%d0%bd%d0%be%d0%ba-%d0%ba%d0%be%d1%80%d0%b8%d1%81%d1%82%d1%83%d0%b2%d0%b0%d1%87%d1%96%d0%b2-%d0%bd%d0%b0-%d1%81%d0%b0%d0%b9%d1%82%d1%96-%d1%87%d0%b5%d1%80/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 22:50:50 +0000</pubDate>
		<dc:creator>Цінитель</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://aerostyle.net.ua/?p=85</guid>
		<description><![CDATA[Цікава функція виловлена на просторах тенет. Підрахунок користувачів онлайн базується на підрахунку сесійних файлів створених для них (звичайно, це спрацює тільки у випадку, якщо ви зберігаєте дані сесії на сервері, а не, скажімо, в базі даних ).


&#60;?php
 session_start();
function getUsersOnline() {
 $count = 0;
$handle = opendir(session_save_path());
 if ($handle == false) return -1;
while (($file = readdir($handle)) != [...]]]></description>
			<content:encoded><![CDATA[<p>Цікава функція виловлена на просторах тенет. Підрахунок користувачів онлайн базується на підрахунку сесійних файлів створених для них (звичайно, це спрацює тільки у випадку, якщо ви зберігаєте дані сесії на сервері, а не, скажімо, в базі даних ).</p>
<pre class="brush: php;">

&lt;?php
 session_start();
function getUsersOnline() {
 $count = 0;
$handle = opendir(session_save_path());
 if ($handle == false) return -1;
while (($file = readdir($handle)) != false) {
 if (ereg(&quot;^sess&quot;, $file)) $count++;
 }
 closedir($handle);

return $count;
 }
 ?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://aerostyle.net.ua/2009/09/30/%d0%bf%d1%96%d0%b4%d1%80%d0%b0%d1%85%d1%83%d0%bd%d0%be%d0%ba-%d0%ba%d0%be%d1%80%d0%b8%d1%81%d1%82%d1%83%d0%b2%d0%b0%d1%87%d1%96%d0%b2-%d0%bd%d0%b0-%d1%81%d0%b0%d0%b9%d1%82%d1%96-%d1%87%d0%b5%d1%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP-кодеру на пам&#8217;ять</title>
		<link>http://aerostyle.net.ua/2009/09/20/php-%d0%ba%d0%be%d0%b4%d0%b5%d1%80%d1%83-%d0%bd%d0%b0-%d0%bf%d0%b0%d0%bc%d1%8f%d1%82%d1%8c/</link>
		<comments>http://aerostyle.net.ua/2009/09/20/php-%d0%ba%d0%be%d0%b4%d0%b5%d1%80%d1%83-%d0%bd%d0%b0-%d0%bf%d0%b0%d0%bc%d1%8f%d1%82%d1%8c/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 12:00:42 +0000</pubDate>
		<dc:creator>Цінитель</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://aerostyle.net.ua/?p=23</guid>
		<description><![CDATA[Дебагінг без зайвих труднощів
Для дебагінгу РНР-програмісти в незалежності від власної кваліфікації часто використовують конструкції echo, var_dump(), print_r і навіть комбінацію echo &#8216;&#60;pre&#62;&#8217;;print_r($obj);echo &#8216;&#60;/pre&#62;&#8217;;
Ясно, що в цьому випадку вся потрібна інформація виводиться прямо в браузер. У випадку, якщо потрібні дані будуть містити HTML-теги, браузер їх одразу інтерпретує, і програміст майже нічого не побачить. Наприклад, наступний код [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><strong>Дебагінг без зайвих труднощів</strong></p>
<p>Для дебагінгу РНР-програмісти в незалежності від власної кваліфікації часто використовують конструкції <strong>echo</strong>, <strong>var_dump()</strong>, <strong>print_r</strong> і навіть комбінацію echo <strong>&#8216;&lt;pre&gt;&#8217;;print_r($obj);echo &#8216;&lt;/pre&gt;&#8217;</strong>;<br />
Ясно, що в цьому випадку вся потрібна інформація виводиться прямо в браузер. У випадку, якщо потрібні дані будуть містити HTML-теги, браузер їх одразу інтерпретує, і програміст майже нічого не побачить. Наприклад, наступний код не виведе в браузері абсолютно нічого:</p>
<pre class="brush: php;">&#60;?
$tablelist='&#60;input name=csv_dbtable type=hidden value=123&#62;';
echo $tablelist; //Виведе &#60;input name=csv_dbtable type=hidden value=123&#62; і браузер це не покаже
?&#62;</pre>
<p>В такому випадку доцільно застосовувати спеціальну РНР функцію – htmlentities. Вона замінює всі теги на спеціальні символи і забезпечує потрібний вигляд інформації, що виводиться</p>
<pre class="brush: php;">&#60;?
$tablelist='&#60;input name=csv_dbtable type=hidden value=123&#62;';
echo  htmlentities($tablelist); //Виведе &#60;input name='csv_dbtable' type=hidden value=&#62; через спецсимволи, а браузер це нормально покаже
?&#62;</pre>
<p style="text-align: right;"><strong>Генерація картинок в РНР<br />
</strong></p>
<p>В PHP можлива робота з графічними файлами через використання бібліотек GD або ImageMagick. Одним із цікавих прикладів такої &#8220;співпраці&#8221; може бути &#8230; генерація картинки з самого php-файлу. Достатньо відправити правильний заголовок браузеру. Наприклад такий (генеруємо png-файл з файлу png_resize.php):</p>
<pre class="brush: php;">&#60;?
header(&#34;Content-type: image/png&#34;);
//далі йде код по створенню файла
?&#62;</pre>
<p>Потім залишається викликати цей файл:</p>
<pre class="brush: xml;">&#60;img id=text_player_box src=some_folder/png_resize.php?parametrs=some_parametrs&#62;</pre>
<p style="text-align: right;"><strong>Редирект сторінок в РНР<br />
</strong></p>
<p>При використанні редиректів варто не забувати примусово завершувати виконання скрипта.</p>
<pre class="brush: php;">&#60;?
header(&#34;Location: www.google.com&#34;);
exit;
?&#62;</pre>
<p>Інакше потім довго доведеться шукати джерело помилки. По ідеї, це очевидно, але все-таки озвучу ще раз: header лише формує заголовки, які будуть відіслані браузеру, автоматичне завершення виконання скрипта НЕ ВХОДИТЬ в її обов&#8217;язки.</p>
<p style="text-align: right;"><strong>Витягнути дробову частину числа на РНР<br />
</strong></p>
<p>Можна так:</p>
<pre class="brush: php;">$t=$t-floor($t);</pre>
<p>або так:</p>
<pre class="brush: php;">$t=substr($t,2,2);</pre>
<p>Дехто навіть умудряється використовувати <strong>explode()</strong></p>
<p style="text-align: right;"><strong>Повідомлення про помилки в коді<br />
</strong></p>
<p>Зрозуміло, що на &#8220;бойовому&#8221; сервері помилки на очі користувачам виводити не варто. На томість під час розробки без цього &#8211; ніяк.<br />
Зручно в конфігураційному файлі створити константу, якій присвоювати значення (показувати чи не показувати помилки) в залежності від того, де виконується код:</p>
<pre class="brush: php;">
&#60;?php
if($_SERVER['REMOTE_ADDR']!='127.0.0.1'){
	//інші налаштування....
	define('SHOW_ALL_ERRORS', 0);
} else {
	//інші налаштування....
	define('SHOW_ALL_ERRORS', 1);

}
?&#62;
</pre>
<p>А потім в коді орієнтуватись на цю константу:</p>
<pre class="brush: php;">
if (SHOW_ALL_ERRORS == 2) {
			error_reporting(E_ALL|E_STRICT);//Report all errors plus E_STRICT errors
			ini_set('display_errors', 1);
		}
		if (SHOW_ALL_ERRORS == 1) {
			error_reporting(E_ALL ^ E_NOTICE);//Report all errors except E_NOTICE; Also could be E_ALL &amp;amp;amp; ~E_NOTICE
			ini_set('display_errors', 1);
		}
		if (SHOW_ALL_ERRORS == 0) {
			ini_set('display_errors', 0);
		}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://aerostyle.net.ua/2009/09/20/php-%d0%ba%d0%be%d0%b4%d0%b5%d1%80%d1%83-%d0%bd%d0%b0-%d0%bf%d0%b0%d0%bc%d1%8f%d1%82%d1%8c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

