Блог Веб-разработчика.

Несмотря на наличие большого количества различных CMS (систем управления контентом), готовых скриптов и сервисов способных реализовать что-то вроде закрытого контента, доступ к которому открывается только после ввода правильной пары логин/пароль, иногда может стоять задача сделать быстрый скрипт на коленке, работа которого максимально понятна, проста и обслуживается минимальным количеством файлов. Именно такую задачу недавно пришлось решать мне, и в этой статье хочу поделиться моей наработкой.

Подробнее: PHP cкрипт авторизации на основе записи в cookies.

В данной статье речь пойдет о том, как Вы можете организовать перенаправление, (или редирект, другими словами) программными средствами php. Следует отметить, что реализовывать перенаправление силами php, чаще всего имеет смысл, если требуется какая-то обработка пришедших данных, их модификация или проверка, по результатам которой происходит перенаправление. Именно такие реализации php редиректа я буду описывать в этой статье.

Если же, Ваша задача состоит в том, чтобы осуществить перенаправление без каких-либо условий, проверок и модификаций запросов (например, у Вашего сайта сменился домен, и теперь необходимо все старые ссылки с прежнего доменного имени перенаправить на новый домен с указанием кода 301. Или на Вашем сайте единичные материалы сменили адрес.) то Вам скорее всего проще настроить перенаправление через настройки сервера, путем задания директив перенаправления в файле .htaccess Вашего сервера (Apache). Подробнее о редиректе средствами .htaccess Вы можете прочитать "здесь".

Подробнее: Редирект средствами php.

В этой статье, я разберу одну достаточно частную и частую проблему, которая может возникнуть в процессе разработки на php. Эта проблема является отражением не столько проблем организации языка программирования php, сколько не полного  понимания некоторых особенностей этого языка начинающими программистами.

При работе в php очень часто приходится иметь дело с массивами, и в частности иногда встает задача поиска элемента в массиве, совпадающего с некоторым искомым значением. Для решения этой частной задачи, очень удобно пользоваться функцией:

Array_search ($needle , array $haystack)

Согласно документации php, функция осуществляет поиск по массиву $haystack и ищет в нем элемент, значение которого совпадает со значением $needle. В качестве результата, функция возвращает либо ключ элемента в массиве (читай «номер элемента в списке»), либо, если ничего не найдено - возвращает ошибку «false». В общем-то, кажется что все нормально и логично. Однако, могут возникать ситуации, когда ответы возвращаемые этой функцией могут ввести в заблуждение и приводить к ошибкам работы разрабатываемого скрипта. Приведу для наглядности конкретные примеры, когда array_search() как будто бы перестает работать.

Подробнее: Array_search() и нюанс проверки результата, возвращаемого этой функцией.

В процессе создания публикаций на сайте, особенно если сайт посвящен каким-то интернет технологиям, часто возникает потребность вставить листинг какого-либо кода прямо в статью. Но, не все редакторы позволяют это сделать корректно. Некоторые, небезосновательно, по соображениям безопасности, вырезают любые вставки кода, в результате кода в статье нет вообще или он сильно покарежен. Другие редакторы позволяют вставить, но при открытии статьи на фронтенде сайта – вставленный код иногда исполняется (если это, например, HTMl или JavaScript коды), даже если они находятся внутри специальных тегов, предназначенных для вывода листинга кодов (например в Joomla тег <pre xml:lang=«php»>…</pre> - внутри этого тега могут быть исполнены коды HTML разметки) и опять получаем не то что нужно…

А мы хотим просто видеть листинг кода. По-человечески. Вот в этой статье хочу предложить простую идею и, как результат, скрипт на основе нее, который позволит обрабатывать некоторые символы кода так, чтобы браузер или система сайта не воспринимала это как код и ни в коем случае его не вырезала и не исполняла. А выводила «текстом».

Подробнее: Скрипт обработки кода для вставки в материал сайта, в комментарий к статье или в сообщение на...

Эта статья является продолжением статьи «Скрипт управления содержимым файла robots.txt. Часть 1.». В прошлый раз, я остановился на том, что была подготовлена форма состоящая из чекбоксов, с помощью которой можно было выделить и отправить на удаление те строки файла с директивами «Disallow», которые уже не нужны. При этом все URL выводились в расшифрованном виде, что позволяет без проблем понимать содержимое даже закодированных кириллических адресов.

В этот раз, я постараюсь добавить функцию с помощью которой можно было бы легко добавлять новые записи (с директивой «Disallow») в файл, и если необходимо – кодировать эти строки через Urlencode().

Подробнее: Скрипт управления содержимым файла robots.txt. Часть 2.

Необходимость создания такого скрипта, опять же, возникла  в связи с особенностями одного из сайтов заказчика. На сайте стоит компонент ЧПУ (SEF) который генерирует человеко-понятные ссылки на кириллице. Кириллические ссылки на сайте имеют свои плюсы, минусы – на этом заострять свое внимание не будем.

Однако, когда сайт существует  давно, и на нем происходит какая-то динамика с материалами, товарами – рано или поздно случается необходимость какую-то страницу закрыть от индексации, или удалить ее из поискового индекса в связи с ее исчезновением. Тут приходит на помощь файл robots.txt. Мы можем туда записывать все адреса страниц сайта, которые необходимо запретить к индексации поисковыми системами (ПС).

Но, тут могут возникнуть две небольшие проблемы.

Подробнее: Скрипт управления содержимым файла robots.txt. Часть 1.

Недавно, для одного интернет-магазина на базе joomla-virtuemart , сделал скрипт, позволяющий на основе информации о товарах в базе данных генерировать каталоги товаров в виде XML документа с соблюдением формата Yandex Market Language (YML-формат каталога). Скрипт генерирует такие каталоги и сохраняет в файловой системе сайта. Но, клиент очень скоро пожаловался, что неудобно скачивать каталоги с сайта. И правда, при прямом обращении к каталогу, он просто открывается в браузере  и чтобы его скачать нужно дополнительно нажать правой кнопкой мыши и кликнуть «сохранить как…».

Действительно, для рядового пользователя интернета, это может быть довольно не удобно, и к тому же нужно еще додуматься, что можно кликнуть мышкой и скачать. Не для всех это кажется очевидным. Поэтому я решил написать коротенький скриптик, который по запросу позволял бы скачать текстовый файл с сервера, без открытия его в браузере. В этой статье я предлагаю листинг его кода с комментариями.

Подробнее: Скрипт скачивания различных документов с сервера

Всеволод Чупрыгин © webengineer.pro 2014. Все права защищены.
Копирование материалов сайта разрешено только с указанием имени автора (Всеволод Чупрыгин) и прямой индексируемой ссылки на источник на сайте www.WebEngineer.pro.
ИП Чупрыгин Всеволод Андреевич, ИНН: 333410747832, ОГРН: 311333426300044
http://vkontakte.ru/chuprygin_va, Google +

.
Проверить аттестат
Мы принимаем Webmoney Мы принимаем практически все платежи через Robokassa Мы принимаем Яндекс.Деньги Мы принимаем платежи через QIWI. Мы принимаем платежи через привязанные к QIWI карты VISA/Mastercard.