RSS

PHP

Авторские скрипты на PHP, примеры программирования и нестандартные решения проблем с помощью PHP. Изучение новых технологии и аспектов языка PHP

Отправка SMS через PHP

В данной статье опишу возможность как отправить через PHP SMS на любой номер телефона в любой стране. Есть возможность отправлять и рассылки сообщений на номера собственной базы клиентов. Сразу скажу, что данная возможность не бесплатна, она работает через платный сервис который имеет весьма низкие цены на свои тарифы. Уже третий год пользуюсь их услугами и проблем пока что не возникало.

Можно и купить GSM модем, купить симку по выгодной акции и настроить отправку сообщений. Но, это удобно только в пределах страны да и не со всеми операторами будут хорошие условия отправки, придется скупать SIM-ки под разных операторов и так далее все настраивать. Если вы конечно сможете настроить автоматическую отправку sms через ваши устройства.

Далее...

Слайдер кадров из клипов с Youtube на PHP

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

Чтобы осуществить данный скрипт мне не пришлось изучать огромный API Youtube, достаточно просто дать запрос в youtube и он сам предоставит 4 кадра из клипа. Полученные от Youtube кадры были отправлены в PHP скрипт для создания из них GIF-изображения.

В статье я так же дам ссылку на демо версию сайта вместе с скриптами. Можно, конечно, подключить и сохранения созданной GIF и не запрашивать заново кадры от youtube, но на самом деле вес этих картинок не так уж и велик.

Далее...

Кэширование данных в PHP с помощью CitrusLib

Кэширование является мощным инструментом в борьбе с улучшением производительности веб-приложения. Без технологии кэширования, веб-серверу приходилось бы снова и снова генерировать новый ответ для клиента тем самым теряя в производительности приложения. Если у вас динамичный проект который требует использование базы данных и выполнение при каждом запросе огромного кода, то технологии кэширования помогут вам выиграть во времени выполнения кода. Если же ваш сайт написан на чистом HTML+CSS то использовать кэширование нету смысла.

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

Далее...

PHP Шаблонизатор MirandaВ шаблонизаторе фреймворка Laravel, мне очень понравилась как они разделяют части шаблона на разные блоки не трогая при этом главный файл шаблона который самый последний выводится и подключает в себя все блоки. Создается главный файл, в нем каркас сайта подключается стили, скрипты и т.д. и в участке где должен быть динамичный контент который будет вызывается в зависимости от текущего URL или запрашиваемой информации стоит вызов данных из блоков(секции) @view_section(content). И все, главный файл вы не трогаете а работаете и вызываете остальных а уже в этих остальных файлов, указываете какому файлу они принадлежат.Далее...

PHP Шаблонизатор MirandaПродолжаем статью о PHP шаблонизаторе Miranda. В прошлой статье, мы узнали как создавать переменные и выводить их в фале шаблона. Как вы поняли если с помощью шаблонизатора работать сразу с PHP файлами то все функции которые доступны в PHP, вы можете использовать в файле шаблона. Но, что же делать если вам нужно избавится от PHP кода в своем шаблоне? Тогда вам нужно вызывать файлы шаблона которые содержат расширение .tpl . Эти файлы будут отправлены в искусственный компилятор шаблонизатора, после обработки всех методов конвертации данных из TPL в PHP, полученный код будет сохранен в папку templates / compiled с расширением .php

Если работать с TPL файлами, принцип создания переменных остается прежним. Можно воспользоваться $this->variable_name = 'variable value' и переменная создана. Другое дело синтаксис вывода данных в шаблон.Далее...

PHP Шаблонизатор MirandaХочу представить вам мой небольшой проект, шаблонизатор под названием Miranda. Начну с самого начало. Где-то года два назад я встретил статью одного программиста, он описывал работу над своим собственным шаблонизатором, в то время я работал с Smarty. Мне было интересно следить за развитием его проекта, но вскоре у меня отнялась всякое желание делать проекты пользуясь шаблонизаторами. Переписать проекты которые уже есть на Smarty мне не хотелось, решил поддерживать их как есть, до какого-то времени. Недавно, мой интерес к шаблонизаторам вернулся, причиной тому стала восхищение собственного шаблонизатора в молодом фреймворке Laravel.

В нем есть все, что мне нужно и я активно перешел на пользования шаблонизатора которого предостовляет мне фреймворк laravel. Недавно мне понадобилась написать простенький сайт, но без использования фреймворка работая в паре с дизайнером который не понимает PHP. Он его знает, но я не доверяю вставку в своем сайте чужого php кода. Вот и пришла идея написать шаблонизатор, как основу и вдохновение я взял принципы шаблонизатора Laravel. Сразу хочу сказать, что код от туда не выдергивал (можете проверить :) ) мне понравился принцип работы, а уже сам код я в удовольствие напишу и сам.Далее...

Информация о пользователе на PHP - IP, браузер, операционная система, робот

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

На данный момент он выдает:

  1. Название браузера
  2. Версия браузера
  3. Название операционной системы
  4. Версия/ядро операционной системы
  5. IP посетителя
  6. проверка: зашел ли пользователь с браузера
  7. проверка: зашел ли пользователь с мобильного устройства
  8. Название марки/ос/браузера мобильного телефона, смартфона, планшета
  9. проверка: является ли посетитель роботом поисковых систем
  10. Какой поисковой системы принадлежит робот

Далее...