{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Блог: заметки с тегом php",
    "_rss_description": "Мысли о программировании, жизни и христианстве.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/starcoms.ru\/iwrite\/tags\/php\/",
    "feed_url": "https:\/\/starcoms.ru\/iwrite\/tags\/php\/json\/",
    "icon": "https:\/\/starcoms.ru\/iwrite\/pictures\/userpic\/userpic@2x.jpg?1501659238",
    "authors": [
        {
            "name": "Евгений Андреевич Куценко",
            "url": "https:\/\/starcoms.ru\/iwrite\/",
            "avatar": "https:\/\/starcoms.ru\/iwrite\/pictures\/userpic\/userpic@2x.jpg?1501659238"
        }
    ],
    "items": [
        {
            "id": "118",
            "url": "https:\/\/starcoms.ru\/iwrite\/all\/addurilka-ili-moy-pervy-plagin-dlya-wordpress\/",
            "title": "Аддурилка или мой первый плагин для Wordpress",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/starcoms.ru\/iwrite\/pictures\/addurilka.png\" width=\"772\" height=\"250\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Вот так выглядит «Аддурилка» для CMS Wordpress<\/div>\n<\/div>\n<p>Написал свой первый плагин для Wordpress. Даже отправил его на WordPress.org. Называется «<a href=\"https:\/\/wordpress.org\/plugins\/addurilka\/\">Addulika<\/a>». Из названия понятно, что он служит для добавления ссылок публикаций в Яндекс.Вебмастер. Также он может проверить находится ли ссылка (проиндексирована ли) уже в поисковике.<\/p>\n<p>Из планов на будущее:<\/p>\n<ul>\n<li>Прикрутить возможность отправлять ссылки в другие поисковики.<\/li>\n<li>Автоматизировать процесс проверки ссылки. Сразу проверялась и отображался результат.<\/li>\n<\/ul>\n<p>Два совета для разработчиков:<\/p>\n<ul>\n<li>Обдуманно упоминать в названии плагина наименования известных брендов.<\/li>\n<li>Наименования функций в плагине нужно придумывать исходя из его уникального названия.<\/li>\n<\/ul>\n<p>P.S. Вопрос знатокам русского языка. Кавычки в наименовании. Когда ставятся, а когда ими можно пренебречь?<\/p>\n",
            "date_published": "2015-09-25T09:50:37+03:00",
            "date_modified": "2015-09-25T09:51:31+03:00",
            "tags": [
                "php",
                "wordpress",
                "кодинг",
                "продвижение"
            ],
            "image": "https:\/\/starcoms.ru\/iwrite\/pictures\/addurilka.png",
            "_date_published_rfc2822": "Fri, 25 Sep 2015 09:50:37 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "118",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/starcoms.ru\/iwrite\/pictures\/addurilka.png"
                ]
            }
        },
        {
            "id": "71",
            "url": "https:\/\/starcoms.ru\/iwrite\/all\/oshibka-funkcii-file-put-contents-i-puti-eyo-resheniya\/",
            "title": "Ошибка функции file_put_contents() и пути её решения",
            "content_html": "<p>С утра блог «порадовал» меня следующим сообщением: «PHP (2): file_put_contents() [function.file-put-contents]: Only 0 of 16364 bytes written, possibly out of free disk space».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/starcoms.ru\/iwrite\/pictures\/error_file_put_contents@2x.jpg\" width=\"768\" height=\"308\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Скриншот безобразия.<\/div>\n<\/div>\n<p>Причина ошибки в том, что движок сайта не может кэшировать публикацию в Эгеи или сохранить другую информацию в файл по причине недостатка места или недоступности записи на хостинге.<\/p>\n<h2>Пути решения<\/h2>\n<ol start=\"1\">\n<li>Проверьте права записи на папку в которую происходит запись (поставьте CHMOD 777).<\/li>\n<li>Почистите кеш, то есть поищите папки с названием cache и удалите из них информацию (в Эгеи открытием ссылки «<a href=\"http:\/\/ваш_блог.ru\/?go=@sync\">http:\/\/ваш_блог.ru\/?go=@sync<\/a>») или очистите кеш в CMS.<\/li>\n<li>Если ошибка не ушла, свяжитесь с хостером или проверьте не забился ли логами или ещё чем ваш сервер.<\/li>\n<\/ol>\n",
            "date_published": "2014-08-16T09:32:26+03:00",
            "date_modified": "2015-01-23T19:52:27+03:00",
            "tags": [
                "php",
                "Е2",
                "кодинг"
            ],
            "image": "https:\/\/starcoms.ru\/iwrite\/pictures\/error_file_put_contents@2x.jpg",
            "_date_published_rfc2822": "Sat, 16 Aug 2014 09:32:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "71",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/starcoms.ru\/iwrite\/pictures\/error_file_put_contents@2x.jpg"
                ]
            }
        },
        {
            "id": "70",
            "url": "https:\/\/starcoms.ru\/iwrite\/all\/vyvodim-populyarnye-publikacii-za-predely-egei\/",
            "title": "Выводим популярные публикации за пределы Эгеи",
            "content_html": "<p>Решил вывести популярные публикации блога на главную страницу сайта. Может кому пригодится. В нужном месте вставляем вызов этой функции.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/\/ Взятие популярных постов из блога\r\nfunction popular_post_links () {\r\n\/\/ Читаем кеш популярных постов\r\n$s = @file_get_contents (&#039;blog\/user\/caches\/popular.ctree.psa&#039;); \r\n\/\/ Вместо &quot;blog&quot; название вашей папки с Эгеей \r\n$s = @unserialize ($s);\r\n\/\/ Выводим название популярных постов\r\nforeach ($s as $item) {\r\n  echo &#039;&lt;p&gt;&lt;a href=&quot;&#039; . $item[&#039;href&#039;] . &#039;&quot;&gt;&#039; . $item[&#039;title&#039;] . &#039;&lt;\/a&gt;&lt;\/p&gt;&#039;;\r\n}\r\n}<\/code><\/pre>",
            "date_published": "2014-08-14T15:52:16+03:00",
            "date_modified": "2014-09-09T11:06:01+03:00",
            "tags": [
                "php",
                "Е2",
                "кодинг"
            ],
            "_date_published_rfc2822": "Thu, 14 Aug 2014 15:52:16 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "70",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "46",
            "url": "https:\/\/starcoms.ru\/iwrite\/all\/dinamicheskaya-versiya-css-i-js\/",
            "title": "Динамическая версия CSS и JS",
            "content_html": "<p>Периодически приходится немного править каскадные таблицы стилей и скрипты на разных проектах. До сих пор я использовал следующее решение:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;link rel=&quot;stylesheet&quot; href=&quot;\/styles\/main.css?&lt;?php echo time(); ?&gt;&quot; \/&gt;\r\n&lt;script src=&quot;\/js\/main.js?&lt;?php echo time(); ?&gt;&quot;&gt;&lt;\/script&gt;<\/code><\/pre><p>Где php-вставка подставляла текущее время и получался следующий код:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;link rel=&quot;stylesheet&quot; href=&quot;\/styles\/main.css?1401823964&quot; \/&gt;\r\n&lt;script src=&quot;\/js\/main.js?1401823964&quot;&gt;&lt;\/script&gt;<\/code><\/pre><p>Это позволяло автоматически обновлять в браузере CSS и JS файлы с которыми работаю (борьба с кешированными версиями обновляемых файлов), создавая «разные» версии файлов, при каждой перезагрузке страницы. Но правильно ли так делать? Ведь даже если я ничего не менял, все равно браузер грузил все по новому.<\/p>\n<p>Возможно, что лучше применять следующий алгоритм работы с кешем файлов такого типа:<\/p>\n<ol start=\"1\">\n<li>Берётся время последнего изменения файла.<\/li>\n<li>Сравнивается со временем указанным как версия файла (или с хранимыми где-то последними версиями файлов, которые используются).<\/li>\n<li>Если они равны, то ничего не меняется.<\/li>\n<li>Если не равны, то версия файла меняется на время последнего изменения файла (или старый файл заменяется новым).<\/li>\n<\/ol>\n<p>Стоит ли вообще на этом заостряться? Или лучше воспользоваться одним из решений предложенных в дополнительных материалах или предложенным выше (вторая ссылка вроде предлагает решение по этому алгоритму)?<\/p>\n<h2>Дополнительные материалы<\/h2>\n<p><a href=\"http:\/\/javascript.ru\/optimize\/cache-versioning\">Умное Кеширование и Версионность в Javascript\/CSS<\/a><br \/>\n<a href=\"http:\/\/www.ejeliot.com\/blog\/72\">(en) Automatic merging and versioning of CSS\/JS files with PHP<\/a><br \/>\n<a href=\"http:\/\/www.ejeliot.com\/blog\/125\">(en) Automatic versioning of CSS, JavaScript and Images<\/a><br \/>\n<a href=\"http:\/\/www.ravelrumba.com\/blog\/css-js-concatenation-versioning-php\/\">(en) Simple CSS\/JS Concatenation and Versioning with PHP<\/a><br \/>\n<a href=\"http:\/\/frankcode.wordpress.com\/2013\/10\/13\/automating-js-and-css-versioning\/\">(en) Automating JS and CSS Versioning<\/a><br \/>\n<a href=\"http:\/\/rakaz.nl\/2006\/12\/make-your-pages-load-faster-by-combining-and-compressing-javascript-and-css-files.html\">(en) Make your pages load faster by combining and compressing javascript and css files<\/a><\/p>\n",
            "date_published": "2014-06-03T23:26:51+03:00",
            "date_modified": "2014-06-06T10:31:05+03:00",
            "tags": [
                "css",
                "js",
                "php",
                "кодинг"
            ],
            "_date_published_rfc2822": "Tue, 03 Jun 2014 23:26:51 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "46",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "13",
            "url": "https:\/\/starcoms.ru\/iwrite\/all\/zanosim-znacheniya-v-bazu-mysql-iz-bolshoy-formy\/",
            "title": "Заносим значения в базу MySQL из большой формы",
            "content_html": "<p>На одном из проектов получалась огромная форма и для сокращения кода был разработан следующий универсальный обработчик данных из формы с занесением их в базу MySQL:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">if (isset($_POST[&quot;submit&quot;])) {\r\nunset($_POST[&quot;submit&quot;]);\r\n  while (list($index,$value) = each($_POST)) {\r\n    if (is_array($value)) {$value = join(&quot;,&quot;,$value);};\r\n    $masiv[$index] = htmlspecialchars($value);\r\n  }\r\n$masiv[&quot;столбец_N&quot;]=&quot;значение_N&quot;; \/\/ Дополнительное значение для всей формы.\r\n$keys = join(&quot;,&quot;,array_keys($masiv));\r\n$values = join(&quot;&quot;,&quot;&quot;,array_values($masiv));\r\n$query = mysql_query(&quot;INSERT INTO `таблица` (&quot;.$keys.&quot;) VALUES(&quot;&quot;.$values.&quot;&quot;)&quot;);\r\nif ($query == &quot;true&quot;)  { echo «Иформация успешно добавлена!»; }\r\n}<\/code><\/pre><p>Надеюсь, кому-нибудь пригодится!<\/p>\n",
            "date_published": "2014-02-05T14:42:20+03:00",
            "date_modified": "2014-05-29T12:58:09+03:00",
            "tags": [
                "MySQL",
                "php",
                "кодинг"
            ],
            "_date_published_rfc2822": "Wed, 05 Feb 2014 14:42:20 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "13",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "12",
            "url": "https:\/\/starcoms.ru\/iwrite\/all\/avtomaticheskoe-obnovlenie-goda-na-sayte\/",
            "title": "Автоматическое обновление года на сайте",
            "content_html": "<p>Довольно часто вебмастера забывают о футере сайта (сам такой), поэтому предлагаю маленький хак для любого шаблона. В том месте, где у вас находится вывод года вставляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?php $year = date(&#039;Y&#039;); echo $year; ?&gt;<\/code><\/pre><p>А какими кодинг-хаками пользуетесь вы?<\/p>\n<p>P.S. По подсказке Игоря в комментариях, есть более элегантное решение.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?=date(&#039;Y&#039;) ?&gt; \/\/Короткие теги включены.<\/code><\/pre><p>или<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;?php echo date(&#039;Y&#039;); ?&gt;<\/code><\/pre><p>P.S.S. Вот ещё полезный ресурс на эту тему — <a href=\"http:\/\/updateyourfooter.com\/\">Update Your Footer.<\/a><\/p>\n",
            "date_published": "2014-01-10T21:38:26+03:00",
            "date_modified": "2015-01-05T21:11:17+03:00",
            "tags": [
                "php",
                "кодинг"
            ],
            "_date_published_rfc2822": "Fri, 10 Jan 2014 21:38:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "12",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4098,
    "_e2_ua_string": "Aegea 11.1 (v4098)"
}