Простой php скрипт, который для конвертации эксель файла (xls) в JSON. Использует phpoffice/phpspreadsheet
PHP:
Набор полезных рецептов для Bitrix
29.09.2020
Примеры небольших, но часто крайне полезных php сниппетов для Битрикса.
Преимущества класса:
- Маленький по размерам.
- Формирует не просто линейку из всех доступных страниц (1,2,3,4,5...88,89,90), а можно указать сколько выводить (3,4,5,6,7).
- Недостатки
- Пока формирование внешнего вида можно изменить только изменив класс кода или через наследование.
- Нет "из коробки" стилей для визуального оформления.
Простой но полезный класс для отправки писем с вложениями на php.
Примеры работы с файлами эксель (excel) используя библиотеку phpspreadsheet.
Удобный пример использования cURL на php
11.10.2017
Код демонстрирует как передать данные а хэдере и теле запроса к серверу и обработать ответ.
Получаем расширение файла средствами PHP
12.01.2013
Несколько вариантов решения с оценкой производительности.
Это позволить удобно расположить свой обработчик, например, в файл local/modules/myTools/lib/EventHandlers/Bitrix/Iblock/OnBeforeIBlockElementUpdate.php
<?php namespace myTools\EventHandlers\Bitrix\IBlock; use myTools\Tools\Events\BaseEvent; class OnBeforeIBlockElementUpdate extends BaseEvent { /** * @eventSort 100 */ public static function myEventHandler(&$arFields) { //код первого обработчика if($arFields["IBLOCK_ID"]==1 && is_Array($arFields["PROPERTY_VALUES"])){ \myTools\Catalog::ChangeSection1C($arFields, 1, 60, 5); } ... } /** * @eventSort 200 */ static function ChangeAddPicName(&$arFields) { $arFields = \myTools\Catalog::ChangeAddPicName($arFields); ... } static function osAddIdToQueue(&$arFields){ $sLog = date("Y-m-d H:i:s") . PHP_EOL; $sLog .= 'IBLOCK_ID:' . $arFields["IBLOCK_ID"] . PHP_EOL; $sLog .= 'PRODUCT_ID:' . $arFields["ID"] . PHP_EOL; file_put_contents($_SERVER['DOCUMENT_ROOT']."/local/log/so_OnBeforeIBlockElementUpdate.txt", $sLog, FILE_APPEND); if($arFields["IBLOCK_ID"]==1){ //$e = new \myTools\Opensearch\QueueIndex(); //$e->addIds([$arFields["ID"]]); $result = \myTools\Opensearch\QueueTable::add(['IBID'=>1, 'PRODUCT_ID'=>$arFields["ID"]]); } elseif($arFields["IBLOCK_ID"]==178){ //$e = new \myTools\Opensearch\QueueIndex(); //$e->addIds([$arFields["ID"]]); $result = \myTools\Opensearch\QueueTable::add(['IBID'=>178, 'PRODUCT_ID'=>$arFields["ID"]]); } } }
Система для создания бэкапов
07.04.2024
Небольшой скрипт для создания и ротации бэкапов, который забирает файлы с удаленного сервер (php / linux).