Простой 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).