Реализовал небольшой класс на PHP для логирования данных. Данный класс позволяет логировать в файл, в тег pre
или в консоль браузера — через JS команду console.log

Реализовал небольшой класс на PHP для логирования данных. Данный класс позволяет логировать в файл, в тег pre
или в консоль браузера — через JS команду console.log
В своей профессиональной деятельности я периодически сталкиваюсь с задачами экспорта/генерации данных в формате XLS/XLSX (Excel). Библиотека PhpSpreadsheet позволяет их решить.
Данная библиотека является логичным продолжением библиотеки PHPExcel, которая уже несколько лет не поддерживается.
Скачать и установить библиотеку предлагается с помощью composer:
composer require phpoffice/phpspreadsheet
Сайт: https://phpspreadsheet.readthedocs.io
Опишу реализацию типичных задач.
Читать далееЭтот сниппет обработчика ajax запросов я часто использую в своих проектах.
Представим себе такую задачу: необходимо реализовать CRUD (create, update, delete) операции элементов инфоблока Битрикс. При этом сами операции должны выполняться от имени такого пользователя, который:
Операции должны инициироваться POST обращением по Ajax к определённому скрипту (обработчику аякс запроса)
Читать далееДавненько я тут не писал.
Сразу к делу: недавно столкнулся с задачей реализовать простенькую печатную форму.
На голом HTML её делать бесполезняк — можно легко столкнуться с «особенностями» браузера из которого производится печать. Собственно решил перегнать html в PDF и уже этот формат использовать в качестве печатного.
В качестве библиотеки выбрал Dompdf — она понимает стили вроде max-width и max-height и умеет работать с картинками.
Порядок действий:
Не совсем понятно почему, но VK ввели ограничение на получение данных с публичных методов вроде wall.get и т.п.
В случае, если, к примеру, делаем запрос на получение контента стены какой-нибудь группы вк (corporationofhumor)
$url = 'https://api.vk.com/api.php?oauth=1&method=wall.get&domain=corporationofhumor&count=100'; $wall = json_decode(file_get_contents($url)); print_r( $wall );
получаем
stdClass Object ( [error] => stdClass Object ( [error_code] => 8 [error_msg] => Invalid request: method is unavailable without access token [request_params] => Array ( [0] => stdClass Object ( [key] => oauth [value] => 1 ) [1] => stdClass Object ( [key] => method [value] => wall.get ) [2] => stdClass Object ( [key] => domain [value] => sarsar ) [3] => stdClass Object ( [key] => count [value] => 100 ) ) ) )
Я лично решил проблему так: зарегал приложение в VK и скопировал сервисный ключ:
Читать далее