<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блог: заметки с тегом php</title>
<link>https://starcoms.ru/iwrite/tags/php/</link>
<description>Мысли о программировании, жизни и христианстве.</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.1 (v4098)</generator>

<itunes:subtitle>Мысли о программировании, жизни и христианстве.</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Аддурилка или мой первый плагин для Wordpress</title>
<guid isPermaLink="false">118</guid>
<link>https://starcoms.ru/iwrite/all/addurilka-ili-moy-pervy-plagin-dlya-wordpress/</link>
<pubDate>Fri, 25 Sep 2015 09:50:37 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/addurilka-ili-moy-pervy-plagin-dlya-wordpress/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://starcoms.ru/iwrite/pictures/addurilka.png" width="772" height="250" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Вот так выглядит «Аддурилка» для CMS Wordpress&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Написал свой первый плагин для Wordpress. Даже отправил его на WordPress.org. Называется «&lt;a href="https://wordpress.org/plugins/addurilka/"&gt;Addulika&lt;/a&gt;». Из названия понятно, что он служит для добавления ссылок публикаций в Яндекс.Вебмастер. Также он может проверить находится ли ссылка (проиндексирована ли) уже в поисковике.&lt;/p&gt;
&lt;p&gt;Из планов на будущее:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Прикрутить возможность отправлять ссылки в другие поисковики.&lt;/li&gt;
&lt;li&gt;Автоматизировать процесс проверки ссылки. Сразу проверялась и отображался результат.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Два совета для разработчиков:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Обдуманно упоминать в названии плагина наименования известных брендов.&lt;/li&gt;
&lt;li&gt;Наименования функций в плагине нужно придумывать исходя из его уникального названия.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;P.S. Вопрос знатокам русского языка. Кавычки в наименовании. Когда ставятся, а когда ими можно пренебречь?&lt;/p&gt;
</description>
</item>

<item>
<title>Ошибка функции file_put_contents() и пути её решения</title>
<guid isPermaLink="false">71</guid>
<link>https://starcoms.ru/iwrite/all/oshibka-funkcii-file-put-contents-i-puti-eyo-resheniya/</link>
<pubDate>Sat, 16 Aug 2014 09:32:26 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/oshibka-funkcii-file-put-contents-i-puti-eyo-resheniya/</comments>
<description>
&lt;p&gt;С утра блог «порадовал» меня следующим сообщением: «PHP (2): file_put_contents() [function.file-put-contents]: Only 0 of 16364 bytes written, possibly out of free disk space».&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://starcoms.ru/iwrite/pictures/error_file_put_contents@2x.jpg" width="768" height="308" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Скриншот безобразия.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Причина ошибки в том, что движок сайта не может кэшировать публикацию в Эгеи или сохранить другую информацию в файл по причине недостатка места или недоступности записи на хостинге.&lt;/p&gt;
&lt;h2&gt;Пути решения&lt;/h2&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Проверьте права записи на папку в которую происходит запись (поставьте CHMOD 777).&lt;/li&gt;
&lt;li&gt;Почистите кеш, то есть поищите папки с названием cache и удалите из них информацию (в Эгеи открытием ссылки «&lt;a href="http://ваш_блог.ru/?go=@sync"&gt;http://ваш_блог.ru/?go=@sync&lt;/a&gt;») или очистите кеш в CMS.&lt;/li&gt;
&lt;li&gt;Если ошибка не ушла, свяжитесь с хостером или проверьте не забился ли логами или ещё чем ваш сервер.&lt;/li&gt;
&lt;/ol&gt;
</description>
</item>

<item>
<title>Выводим популярные публикации за пределы Эгеи</title>
<guid isPermaLink="false">70</guid>
<link>https://starcoms.ru/iwrite/all/vyvodim-populyarnye-publikacii-za-predely-egei/</link>
<pubDate>Thu, 14 Aug 2014 15:52:16 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/vyvodim-populyarnye-publikacii-za-predely-egei/</comments>
<description>
&lt;p&gt;Решил вывести популярные публикации блога на главную страницу сайта. Может кому пригодится. В нужном месте вставляем вызов этой функции.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;// Взятие популярных постов из блога
function popular_post_links () {
// Читаем кеш популярных постов
$s = @file_get_contents (&amp;#039;blog/user/caches/popular.ctree.psa&amp;#039;); 
// Вместо &amp;quot;blog&amp;quot; название вашей папки с Эгеей 
$s = @unserialize ($s);
// Выводим название популярных постов
foreach ($s as $item) {
  echo &amp;#039;&amp;lt;p&amp;gt;&amp;lt;a href=&amp;quot;&amp;#039; . $item[&amp;#039;href&amp;#039;] . &amp;#039;&amp;quot;&amp;gt;&amp;#039; . $item[&amp;#039;title&amp;#039;] . &amp;#039;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;#039;;
}
}&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Динамическая версия CSS и JS</title>
<guid isPermaLink="false">46</guid>
<link>https://starcoms.ru/iwrite/all/dinamicheskaya-versiya-css-i-js/</link>
<pubDate>Tue, 03 Jun 2014 23:26:51 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/dinamicheskaya-versiya-css-i-js/</comments>
<description>
&lt;p&gt;Периодически приходится немного править каскадные таблицы стилей и скрипты на разных проектах. До сих пор я использовал следующее решение:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/styles/main.css?&amp;lt;?php echo time(); ?&amp;gt;&amp;quot; /&amp;gt;
&amp;lt;script src=&amp;quot;/js/main.js?&amp;lt;?php echo time(); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Где php-вставка подставляла текущее время и получался следующий код:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/styles/main.css?1401823964&amp;quot; /&amp;gt;
&amp;lt;script src=&amp;quot;/js/main.js?1401823964&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Это позволяло автоматически обновлять в браузере CSS и JS файлы с которыми работаю (борьба с кешированными версиями обновляемых файлов), создавая «разные» версии файлов, при каждой перезагрузке страницы. Но правильно ли так делать? Ведь даже если я ничего не менял, все равно браузер грузил все по новому.&lt;/p&gt;
&lt;p&gt;Возможно, что лучше применять следующий алгоритм работы с кешем файлов такого типа:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Берётся время последнего изменения файла.&lt;/li&gt;
&lt;li&gt;Сравнивается со временем указанным как версия файла (или с хранимыми где-то последними версиями файлов, которые используются).&lt;/li&gt;
&lt;li&gt;Если они равны, то ничего не меняется.&lt;/li&gt;
&lt;li&gt;Если не равны, то версия файла меняется на время последнего изменения файла (или старый файл заменяется новым).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Стоит ли вообще на этом заостряться? Или лучше воспользоваться одним из решений предложенных в дополнительных материалах или предложенным выше (вторая ссылка вроде предлагает решение по этому алгоритму)?&lt;/p&gt;
&lt;h2&gt;Дополнительные материалы&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://javascript.ru/optimize/cache-versioning"&gt;Умное Кеширование и Версионность в Javascript/CSS&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ejeliot.com/blog/72"&gt;(en) Automatic merging and versioning of CSS/JS files with PHP&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ejeliot.com/blog/125"&gt;(en) Automatic versioning of CSS, JavaScript and Images&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ravelrumba.com/blog/css-js-concatenation-versioning-php/"&gt;(en) Simple CSS/JS Concatenation and Versioning with PHP&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://frankcode.wordpress.com/2013/10/13/automating-js-and-css-versioning/"&gt;(en) Automating JS and CSS Versioning&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://rakaz.nl/2006/12/make-your-pages-load-faster-by-combining-and-compressing-javascript-and-css-files.html"&gt;(en) Make your pages load faster by combining and compressing javascript and css files&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Заносим значения в базу MySQL из большой формы</title>
<guid isPermaLink="false">13</guid>
<link>https://starcoms.ru/iwrite/all/zanosim-znacheniya-v-bazu-mysql-iz-bolshoy-formy/</link>
<pubDate>Wed, 05 Feb 2014 14:42:20 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/zanosim-znacheniya-v-bazu-mysql-iz-bolshoy-formy/</comments>
<description>
&lt;p&gt;На одном из проектов получалась огромная форма и для сокращения кода был разработан следующий универсальный обработчик данных из формы с занесением их в базу MySQL:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;if (isset($_POST[&amp;quot;submit&amp;quot;])) {
unset($_POST[&amp;quot;submit&amp;quot;]);
  while (list($index,$value) = each($_POST)) {
    if (is_array($value)) {$value = join(&amp;quot;,&amp;quot;,$value);};
    $masiv[$index] = htmlspecialchars($value);
  }
$masiv[&amp;quot;столбец_N&amp;quot;]=&amp;quot;значение_N&amp;quot;; // Дополнительное значение для всей формы.
$keys = join(&amp;quot;,&amp;quot;,array_keys($masiv));
$values = join(&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,array_values($masiv));
$query = mysql_query(&amp;quot;INSERT INTO `таблица` (&amp;quot;.$keys.&amp;quot;) VALUES(&amp;quot;&amp;quot;.$values.&amp;quot;&amp;quot;)&amp;quot;);
if ($query == &amp;quot;true&amp;quot;)  { echo «Иформация успешно добавлена!»; }
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Надеюсь, кому-нибудь пригодится!&lt;/p&gt;
</description>
</item>

<item>
<title>Автоматическое обновление года на сайте</title>
<guid isPermaLink="false">12</guid>
<link>https://starcoms.ru/iwrite/all/avtomaticheskoe-obnovlenie-goda-na-sayte/</link>
<pubDate>Fri, 10 Jan 2014 21:38:26 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/avtomaticheskoe-obnovlenie-goda-na-sayte/</comments>
<description>
&lt;p&gt;Довольно часто вебмастера забывают о футере сайта (сам такой), поэтому предлагаю маленький хак для любого шаблона. В том месте, где у вас находится вывод года вставляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;?php $year = date(&amp;#039;Y&amp;#039;); echo $year; ?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;А какими кодинг-хаками пользуетесь вы?&lt;/p&gt;
&lt;p&gt;P.S. По подсказке Игоря в комментариях, есть более элегантное решение.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;?=date(&amp;#039;Y&amp;#039;) ?&amp;gt; //Короткие теги включены.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;?php echo date(&amp;#039;Y&amp;#039;); ?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;P.S.S. Вот ещё полезный ресурс на эту тему — &lt;a href="http://updateyourfooter.com/"&gt;Update Your Footer.&lt;/a&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>