Adminer — легковесная альтернатива PhpMyAdmin.

PhpMyAdmin весьма удобная штука, но иногда возникает задача, скажем, быстро экспортировать таблицу БД или сделать бэкап. На разворачивание PhpMyAdmin уйдёт время. В качестве альтернативы можно использовать Adminer.

Основные фишки этого инструмента администрирования БД:

Читать далее

Экспорт из PHP в Excel с помощью PhpSpreadsheet

В своей профессиональной деятельности я периодически сталкиваюсь с задачами экспорта/генерации данных в формате XLS/XLSX (Excel). Библиотека PhpSpreadsheet позволяет их решить.

Данная библиотека является логичным продолжением библиотеки PHPExcel, которая уже несколько лет не поддерживается.

Скачать и установить библиотеку предлагается с помощью composer:

composer require phpoffice/phpspreadsheet

Сайт: https://phpspreadsheet.readthedocs.io

Опишу реализацию типичных задач.

Читать далее

Организация универсального обработчика Ajax запросов

Этот сниппет обработчика ajax запросов я часто использую в своих проектах.

Представим себе такую задачу: необходимо реализовать CRUD (create, update, delete) операции элементов инфоблока Битрикс. При этом сами операции должны выполняться от имени такого пользователя, который:

  • авторизован на сайте
  • принадлежит определённой группе пользователей

Операции должны инициироваться POST обращением по Ajax к определённому скрипту (обработчику аякс запроса)

Читать далее

HTML в PDF средствами Dompdf

Давненько я тут не писал.

Сразу к делу: недавно столкнулся с задачей реализовать простенькую печатную форму.

На голом HTML её делать бесполезняк — можно легко столкнуться с «особенностями» браузера из которого производится печать. Собственно решил перегнать html в PDF и уже этот формат использовать в качестве печатного.

В качестве библиотеки выбрал Dompdf — она понимает стили вроде max-width и max-height и умеет работать с картинками.

Порядок действий:

  1. Собственно качаем dompdf: тык
  2. Заливаем содержимое на свой сервак.
  3. Формируем сниппет кода. Принцип прост: html-ку запихиваем в буфер вывода, а уже потом её используем в качестве содержимого PDF-ки:
Читать далее