Шаблоны кода
Часто используемое при разработке и доработке сайтов и систем на Bitrix Framework.
Для технических специалистов.Поиск
Bitrix
Пользователи
Стандартные поля пользователя url
Шаблон
Стандартные поля пользователя
Все стандартные поля пользователей в Битрикс (Поля таблицы b_user): DATE_REGISTER, LOGIN, NAME, LAST_NAME, SECOND_NAME, EMAIL, PASSWORD, CONFIRM_PASSWORD, GROUP_ID, ACTIVE, LID и другие поля пользователей в системе 1С-Битрикс.
DATE_REGISTER - Дата регистрации
LOGIN* - логин (имя входа)
NAME - имя пользователя
LAST_NAME - фамилия пользователя
SECOND_NAME - отчество пользователя
EMAIL* - E-Mail адрес пользователя
PASSWORD* - пароль пользователя
CONFIRM_PASSWORD* - подтверждение пароля (должно быть равным PASSWORD)
GROUP_ID - массив ID групп к которым будет приписан пользователь
ACTIVE - флаг активности пользователя [Y|N]
LID - ID сайта по умолчанию для уведомлений
ADMIN_NOTES - заметки администратора
XML_ID - ID пользователя для связи с внешними источниками (например, ID пользователя в какой-либо внешний базе)
EXTERNAL_AUTH_ID - код источника [link=89611]внешней авторизации[/link]
PERSONAL_PROFESSION - наименование профессии
PERSONAL_WWW - персональная WWW-страница
PERSONAL_ICQ - ICQ
PERSONAL_GENDER - пол ["M" - мужчина; "F" - женщина]
PERSONAL_BIRTHDAY - дата рождения в формате текущего сайта (или текущего языка для административной части)
PERSONAL_PHOTO - массив описывающий фотографию, допустимы следующие ключи этого массива:
name - имя файла
size - размер файла
tmp_name - временный путь на сервере
type - тип загружаемого файла
del - если значение равно "Y", то изображение будет удалено
PERSONAL_PHONE - телефон
PERSONAL_FAX - факс
PERSONAL_MOBILE - мобильный телефон
PERSONAL_PAGER - пэйджер
PERSONAL_STREET - улица, дом
PERSONAL_MAILBOX - почтовый ящик
PERSONAL_CITY - город
PERSONAL_STATE - область / край
PERSONAL_ZIP - индекс
PERSONAL_COUNTRY - страна
PERSONAL_NOTES - личные заметки
TITLE - обращение к пользователю. Поле актуально при добавлении и обновлении.
WORK_COMPANY - наименование компании
WORK_DEPARTMENT - департамент / отдел
WORK_POSITION - должность
WORK_WWW - WWW-страница компании
WORK_PHONE - рабочий телефон
WORK_FAX - рабочий факс
WORK_PAGER - рабочий пэйджер
WORK_STREET - улица, дом компании
WORK_MAILBOX - почтовый ящик компании
WORK_CITY - город компании
WORK_STATE - область / край компании
WORK_ZIP - индекс компании
WORK_COUNTRY - страна компании
WORK_PROFILE - направления деятельности компании
WORK_LOGO - массив описывающий логотип компании, допустимы следующие ключи этого массива:
name - имя файла
size - размер файла
tmp_name - временный путь на сервере
type - тип загружаемого файла
del - если значение равно "Y", то изображение будет удалено
MODULE_ID - идентификатор главного модуля - "main"
WORK_NOTES - заметки касаемо работы пользователя
* - обязательные поля.
Текущий пользователь url
Шаблон
Текущий пользователь
Битрикс — Получить ID текущего пользователя, получить EMAIL текущего пользователя, проверить авторизован ли пользователь, проверить является ли пользователь админом, проверить состоит ли пользователь в группе или группах, получить массив групп текущего пользователя и другие часто используемые задачи.
/**
Получить ID текущего пользователя */
\Bitrix\Main\Engine\CurrentUser::get()->getId();
/**
Получить EMAIL текущего пользователя */
\Bitrix\Main\Engine\CurrentUser::get()->getEmail();
/**
Проверить, авторизован ли пользователь */
if(\Bitrix\Main\Engine\CurrentUser::get()->getId()){ ... }
/**
Проверить, является ли пользователь админом */
\Bitrix\Main\Engine\CurrentUser::get()->isAdmin();
/**
Проверить, состоит ли пользователь в группах
Проверка идет на соответствие группам с оператором ИЛИ
В выборку попадут пользователи с группой "1" или "5"
и пользователи, состоящие в обеих группах */
if(CSite::InGroup(array(1,5))){ ... }
/**
Получить имя, фамилию и пр. текущего пользователя,
в формате, который определен в
региональных настройках,
которые установлены для текущего сайта */
\Bitrix\Main\Engine\CurrentUser::get()->getFormattedName();
/**
Получить массив групп текущего пользователя */
\Bitrix\Main\Engine\CurrentUser::get()->getUserGroups();
Данные пользователя по ID url
Шаблон
Данные пользователя по ID
Метод \Bitrix\Main\UserTable::getList(...) используется для получения данных пользователей из таблицы пользователей в базе данных 1С-Битрикс. Используя данный метод можно получить данные конкретного пользователя по ID передав в параметре filter ID нужного пользователя в системе 1С-Битрикс.
/**
Получить данные пользователя по ID */
$arrUser = \Bitrix\Main\UserTable::getList(array(
"select" => array("*"),
"filter" => array("=ID" => \Bitrix\Main\Engine\CurrentUser::get()->getId()),
"limit" => 1,
))->fetch();
/**
$arrUser — будет содержать массив со всеми полями пользователя
Результат может включать "UF_*" поля,
их необходимо указывать в select
"select" => array("*", "UF_PROP"),
*/
Список пользователей url
Шаблон
Список пользователей
Метод \Bitrix\Main\UserTable::getList(...) используется для получения списка пользователей из таблицы пользователей в базе данных 1С-Битрикс. Метод принимает параметры select, filter, group, order, limit, offset, runtime ...
$userTable = \Bitrix\Main\UserTable::getList(array(
"select" => array("*", "UF_TYPE"),
"filter" => array(),
"order" => array("ID" => "ASC"),
));
while($arUser = $userTable->fetch()){
print_r($arUser);
}
// Параметры метода
"select" => ... // имена полей, которые необходимо получить в результате
"filter" => ... // описание фильтра для WHERE и HAVING
"group" => ... // явное указание полей, по которым нужно группировать результат
"order" => ... // параметры сортировки
"limit" => ... // количество записей
"offset" => ... // смещение для limit
"runtime" => ... // динамически определенные поля
Список групп url
Шаблон
Список групп
Метод \Bitrix\Main\GroupTable::getList(…) выполняет запрос к таблице групп пользователей в системе 1С-Битрикс и выводит информацию о них.
$groupTable = \Bitrix\Main\GroupTable::getList(array(
"select" => array("ID", "NAME", "STRING_ID", "C_SORT"),
"filter" => array("!ID" => "1")
));
while($arGroup = $groupTable->fetch()){
print_r($arGroup);
}
Пользователя в группу url
Шаблон
Пользователя в группу
Битрикс – Добавление пользователя с определенным ID в указанную группу пользователей бессрочно или на период времени. Метод \Bitrix\Main\UserGroupTable::add() – добавит пользователя в группу или вернет ошибку если пользователь уже был добавлен в группу.
/**
Добавить пользователя в группу */
\Bitrix\Main\UserGroupTable::add(array(
"USER_ID" => $user_id, // ID пользователя
"GROUP_ID" => 5, // ID группы
));
// Если пользователь уже привязан к этой группе,
// то будет сгенерирована ошибка.
/**
Добавить пользователя в группу на период времени */
\Bitrix\Main\UserGroupTable::add(array(
"USER_ID" => $user_id, // ID пользователя
"GROUP_ID" => 26, // ID группы
"DATE_ACTIVE_FROM" => new \Bitrix\Main\Type\DateTime("2024-10-01 15:00:00", "Y-m-d H:i:s"),
"DATE_ACTIVE_TO" => new \Bitrix\Main\Type\DateTime("2024-10-31 15:00:00", "Y-m-d H:i:s"),
));
Пользователя из группы url
Шаблон
Пользователя из группы
Битрикс — Метод \Bitrix\Main\UserGroupTable::delete() принимает параметры USER_ID и GROUP_ID и производит удаление пользователя с ID (параметр USER_ID) из указанной в параметре GROUP_ID группы пользователей.
/**
Удалить пользователя из группы */
\Bitrix\Main\UserGroupTable::delete(array(
"USER_ID" => $user_id,
"GROUP_ID" => 5,
));
Добавить нового пользователя url
Шаблон
Добавить нового пользователя
Метод добавляет нового пользователя в 1С-Битрикс. При успешном выполнении возвращает ID нового пользователя, а в случае ошибки вернет "false", при этом в LAST_ERROR будет описание ошибки.
// Добавим нового пользователя
$user = new CUser;
$fields = Array(
"GROUP_ID" => array(21, 22),
"PASSWORD" => $pass,
"CONFIRM_PASSWORD" => $pass,
"LOGIN" => "",
"EMAIL" => "",
"PHONE_NUMBER" => $phone, // Если включена регистрация по номеру телефона, то нужно передать значение обязательного поля PHONE_NUMBER
"LID" => "s1",
"ACTIVE" => "Y",
"NAME" => "",
"LAST_NAME" => "",
"PERSONAL_PHOTO" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/photo.gif"),
"UF_PROP" => "", // UF_*
);
$ID = $user->Add($fields);
if(intval($ID) > 0){
echo "Пользователь успешно добавлен.";
}else{
echo $user->LAST_ERROR;
}
Связанные материалы
Изменить данные пользователя url
Шаблон
Изменить данные пользователя
Метод изменяет параметры пользователя в 1С-Битрикс с идентификатором ID. Возвращает "true", если изменение прошло успешно, а при возникновении ошибки возвращает "false", при этом в свойстве LAST_ERROR будет содержаться текст ошибки.
$user = new CUser;
$fields = Array(
"EMAIL" => "",
"LID" => "s1",
"ACTIVE" => "Y",
"NAME" => "",
"LAST_NAME" => "",
"UF_PROP" => "", // UF_*
);
$result = $user->Update($ID, $fields);
if($result){
echo "Данные пользователя успешно обновлены.";
}else{
echo $user->LAST_ERROR;
}
Связанные материалы
Удалить пользователя url
Шаблон
Удалить пользователя
Метод 1С-Битрикс CUser::Delete() принимает единственный параметр это ID пользователя, которого необходимо удалить. В случае успешного удаления пользователя возвращает "true", а в случае ошибки "false".
if(CUser::Delete(USER_ID)) echo "Пользователь удален.";
Авторизовать url
Шаблон
Авторизовать
Метод 1С-Битрикс осуществляет процесс авторизации пользователя. Инициализирует необходимые сессионные переменные и переменные объекта класса CUser. Если авторизация была успешной, то возвращает "true", в случае ошибки авторизации "false".
$USER->Authorize(USER_ID);
Выход по кнопке url
Шаблон
Выход по кнопке
Битрикс — кнопка выхода пользователя с защитой от CSRF.
<a href="<?=$APPLICATION->GetCurPageParam("logout=yes&".bitrix_sessid_get())?>">Выход</a>
Выход для текущего пользователя url
Шаблон
Выход для текущего пользователя
Метод 1С-Битрикс, который заканчивает сеанс авторизации пользователя, при этом удаляются те куки пользователя, которые используются при автоматической авторизации.
$USER->Logout();
ЧПУ, 404 ...
ЧПУ url
Шаблон
ЧПУ
Битрикс — $arUrlRewrite в файле /urlrewrite.php
$arUrlRewrite = array(
1 =>
array (
"CONDITION" => "#^/services/([a-zA-Z0-9\\-_]+)/#",
"RULE" => "ELEMENT_CODE=$1",
"ID" => "",
"PATH" => "/services/detail.php",
"SORT" => 100,
),
);
Чтобы стр. отдавала 404 url
Шаблон
Чтобы стр. отдавала 404
Код, который можно использовать в 1С-Битрикс, для обработки 404-ошибоки и отображения пользовательской страницы 404-ошибки.
if(!defined("ERROR_404"))
define("ERROR_404", "Y");
\CHTTP::setStatus("404 Not Found");
if($APPLICATION->RestartWorkarea()){
require(\Bitrix\Main\Application::getDocumentRoot()."/404.php");
die();
}
Этот код выполняет следующие действия:
1. Проверяет, определена ли константа ERROR_404. Если она не определена, то определяет её со значением "Y". Это может использоваться для обозначения того, что произошла ошибка 404.
2. Устанавливает HTTP-статус страницы как "404 Not Found" с помощью метода \CHTTP::setStatus("404 Not Found"). Это сообщает браузеру, что запрашиваемая страница не найдена.
3. Проверяет, может ли рабочая область приложения быть перезапущена с помощью метода $APPLICATION->RestartWorkarea(). Если это возможно, загружает файл /404.php, который, содержит пользовательскую страницу ошибки 404.
4. Завершает выполнение скрипта с помощью die(), чтобы предотвратить дальнейшее выполнение кода.
1. Проверяет, определена ли константа ERROR_404. Если она не определена, то определяет её со значением "Y". Это может использоваться для обозначения того, что произошла ошибка 404.
2. Устанавливает HTTP-статус страницы как "404 Not Found" с помощью метода \CHTTP::setStatus("404 Not Found"). Это сообщает браузеру, что запрашиваемая страница не найдена.
3. Проверяет, может ли рабочая область приложения быть перезапущена с помощью метода $APPLICATION->RestartWorkarea(). Если это возможно, загружает файл /404.php, который, содержит пользовательскую страницу ошибки 404.
4. Завершает выполнение скрипта с помощью die(), чтобы предотвратить дальнейшее выполнение кода.
Uri
Методы Uri url
Шаблон
Методы Uri
Uri — класс для работы со ссылками в 1С-Битрикс. Аналог CMain::GetCurPageParam и DeleteParam в старом ядре. Работа с классом \Bitrix\Main\Web\Uri несколько сложнее чем в старом ядре: это следствие того, что в этом классе каждый метод отвечает только за один аспект работы класса.
// Создание объекта из URL строки
$uri = new \Bitrix\Main\Web\Uri("/page.php?key1=value1&key2=value2");
// Создание объекта из текущего URL
$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$uri = new \Bitrix\Main\Web\Uri($request->getRequestUri());
/*** get Методы ***/
// Получить URL
$url = $uri->getUri();
// Возвращает путь
$path = $uri->getPath();
// Строка запроса (метод вернёт параметры строки запроса)
$query = $uri->getQuery();
// Разбить параметры запроса в массив $arUrlParams
parse_str($uri->getQuery(), $arUrlParams);
// Возвращает номер порта
$port = $uri->getPort();
// Протокол запроса, к примеру http или https
$scheme = $uri->getScheme();
// Возвращает путь с запросом
$pathQuery = $uri->getPathQuery();
// Имя хоста из запроса, например example.com
$host = $uri->getHost();
// Получение фрагмента URL (параметры после знака #)
$fragment = $uri->getFragment();
/*** set Методы ***/
// Задаём новый путь для URL
$uri->setPath("/new/path/page.php");
// Задает порт
$uri->setPort(80);
// Задает протокол для URL
$uri->setScheme("https");
// Задает имя хоста
$uri->setHost("example.com");
// Задает фрагменты для URL (анкоры для ссылок, после знака - #)
$uri->setFragment("anchor");
// Добавление параметров
$uri->addParams(array("key3" => "value3", "key4" => "value4"));
// Удаление параметров
$uri->deleteParams(array("key1" => "value1", "key2" => "value2"));
// Удаление системных параметров
$uri->deleteParams(\Bitrix\Main\HttpRequest::getSystemParameters());
Разделы, стр.
Условия разделов и стр. url
Шаблон
Условия разделов и стр.
Если необходимо применить особый стиль к определённой директории сайта или управлять выводом элементов на странице в зависимости от текущего URL. Для этого в 1С-Битрикс можно использовать метод CSite::InDir.
if(CSite::InDir("/index.php")){
// Выполнение условия для гл. страницы
}
if(!CSite::InDir("/index.php")){
// Выполнение условия для всех разделов и стр., кроме главной.
}
if(CSite::InDir("/catalog/")){
// Выполнение условия для каталога /catalog/ и всех его подкаталогов, например /catalog/item/
}
if(CSite::InDir("/catalog/index.php")){
// Выполнение условия для индексной стр. каталога /catalog/
}
Навигация
Постраничная навигация url
Шаблон
Постраничная навигация
Постраничная навигация в Битриксе.
$nav = new \Bitrix\Main\UI\PageNavigation("page");
$nav->allowAllRecords(false)
->setPageSize(20)
->initFromUri();
$newsTable = \Bitrix\Iblock\ElementTable::getList(array(
"filter" => array("=IBLOCK_ID" => 1),
"count_total" => true,
"offset" => $nav->getOffset(),
"limit" => $nav->getLimit(),
)
);
$nav->setRecordCount($newsTable->getCount());
while($arNews = $newsTable->fetch()) {
print_r($arNews);
}
// Выводим компонент постраничной навигации.
$APPLICATION->IncludeComponent(
"bitrix:main.pagenavigation",
"",
array(
"NAV_OBJECT" => $nav,
"SEF_MODE" => "N", // Вкл./Откл. ЧПУ
),
false
);
Шаблон
Шаблон и подключения url
Шаблон
Шаблон и подключения
Методы Asset::getInstance()->addCss и Asset::getInstance()->addJs для подключения стилей и JS в шаблоне сайта.
/**
Проверка на подключение пролога */
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
/**
Создание основных псевдонимов */
use Bitrix\Main\Page\Asset;
use Bitrix\Main\Loader;
use Bitrix\Main\Entity;
use Bitrix\Main\Mail\Event;
use Bitrix\Main\Engine\CurrentUser;
/**
Загрузка модуля */
Loader::includeModule("my.module");
/**
Подключение CSS и JS */
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH."/css/app.css");
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH."/js/app.js");
/**
Подключение CJSCore */
CJSCore::Init(array("date", "sidepanel"));
Подключение ядра без шаблона url
Шаблон
Подключение ядра без шаблона
Подключить ядро 1С-Битрикс без подключения шаблона сайта. Подключить в 1С-Битрикс пролог и эпилог без подключения шаблона.
// Пролог
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
// Эпилог
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
Константы для Ajax-страниц url
Шаблон
Константы для Ajax-страниц
Константы Битрикса, которые имеет смысл определять в служебных скриптах (AJAX, cron, exchange и т.п.).
/**
* Это стандартный заголовок для какого-либо обработчика AJAX вызова
* или обращения к API на Битриксе: всё то, где не выполняется обычная страница сайта.
* Коллекция "магических" констант Битрикса, меняя которые под требования скрипта, -
* можно существенно снизить нагрузку сервера (меньше исполнения PHP-кода, меньше запросов к БД).
* ВНИМАНИЕ! Константы с комментариями - нужно менять их значения или вообще удалять, -
* в каждом конкретном применении надо действовать индивидуально
*/
/**
* Битриксовая константа.
* Если в настройках битрикса включена смена идентификатора сессий,
* эта константа позволит работать обмену с 1С
*/
//define('BX_SESSION_ID_CHANGE', false);
/**
* Битриксовая константа.
* Пропустить обработку $_POST, - обрабатыватются только
* $_GET и $_COOKIE и оба массива параметров сливаются в один - $_REQUEST
*/
//define('BX_SKIP_POST_UNQUOTE', true);
/**
* Битриксовая константа.
* При установке в true отключает выполнение всех агентов (если они на хите работают)
*/
define('NO_AGENT_CHECK', true);
/**
* Битриксовая константа.
* Если инициализировать данную константу каким либо значением,
* то это запретит сбор статистики на данной странице.
*/
define('NO_KEEP_STATISTIC', 'Y');
/**
* Битриксовая константа.
* Инициализация этой константы каким-либо значением
* приведет к запрету следующих действий модуля "Статистика",
* выполняемых ежедневно при помощи технологии агентов:
* 1) перевод на новый день;
* 2) очистка устаревших данных статистики;
* 3) отсылка ежедневного статистического отчета.
*/
define('NO_AGENT_STATISTIC', 'Y');
/**
* Битриксовая константа.
* Запрет реакции на служебные параметры в URL (анализ быстродействия и пр.).
* Например, при включенной битриксовой отладке перестанут
* в AJAX-ответы подмешиваться сообщения о метриках (что ломает JSON и т.п.).
*/
define('PUBLIC_AJAX_MODE', true);
/**
* Битриксовая константа.
* Запрет обработки отправки писем на хите. Если это установить,
* то отправка писем должна работать по cron, -
* если cron не настроить, то письма вообще не будут уходить!
*/
define('DisableEventsCheck', true);
/**
* Битриксовая константа.
* Отключить функционал блокировки посетителей по превышению лимита активности
*/
define('STATISTIC_SKIP_ACTIVITY_CHECK', true);
/**
* Битриксовая константа.
* Константа предназначена для отключения автоматического сбора статистики,
* реализованного как вызов функции CStatistics::Keep
* в качестве обработчика события OnBeforeProlog.
*/
define('STOP_STATISTICS', true);
/**
* Битриксовая константа.
* Если определить константу, то сообщения модуля безопасности будут
* не через AJAX (возвращается JavaScript),
* а через простой текст (echo)
*/
define('BX_SECURITY_SHOW_MESSAGE', true);
/**
* Битриксовая константа.
* Если инициализировать данную константу значением "true" до подключения пролога,
* то это отключит проверку прав на доступ к файлам и каталогам.
*/
define('NOT_CHECK_PERMISSIONS', true);
/**
* Битриксовая константа.
* Отключает интеграцию с Битрикс24
*/
define('B24CONNECTOR_SKIP', true);
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
// Далее сам скрипт
Проверка на подключение пролога url
Шаблон
Проверка на подключение пролога
Чтобы не допустить подключение файла напрямую без ядра 1С-Битрикс.
/**
Проверка на подключение пролога */
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
Модули
Подключение модуля url
Шаблон
Подключение модуля
Битрикс — метод \Bitrix\Main\Loader::includeModule() принимает один параметр — название модуля и подключает его, после чего возможно использование классов подключенного модуля. Метод возвращает true если удалось подключить модуль или false если модуль подключить не удалось.
// Подключить модуль
\Bitrix\Main\Loader::includeModule("my.module");
/***
Метод вернет true если удалось подключить модуль
или false если модуль подключить не удалось.
*/
if(\Bitrix\Main\Loader::includeModule("my.module")) {
// что нужно сделать
}
/***
Список всех стандартных модулей в продуктах 1С-Битрикс и Битрикс24.
*/
1С — Интеграция с 1С
abtest — А/В тестирование
ldap — AD/LDAP интеграция
advertising — Реклама, баннеры
b24connector — Интеграция с Битрикс24
bitrixcloud — Облако 1С-Битрикс
bizproc — Бизнес процессы
bizprocdesigner — Дизайнер бизнес-процессов
blog — Блоги
calendar — Календарь событий
catalog — Торговый каталог
cluster — Веб-кластер
clouds — Облачные хранилища
compression — Компрессия
controller — Контроллер
conversion — Конверсия
crm — CRM
currency — Валюты
DAV — dav
desktop — Десктопное приложение
disk — Диск
documentgenerator — Генератор документов
extranet — Экстранет
faceid — Распознавание лиц
fileman — Управление структурой
form — Веб-формы
forum — Форум
highloadblock — Highload-блоки
iblock — Информационные блоки
idea — Менеджер идей
im — Веб-мессенджер
imbot — Чат-боты Битрикс24
imconnector — Коннекторы для внешних мессенджеров
imopenlines — Открытые линии
intranet — Интранет
learning — Обучение
lists — Универсальные списки
location — Адреса и Местоположения
landing — Сайты 24
mail — Почта
main — Главный модуль
messageservice — Служба сообщений
meeting — Планерки и собрания
mobile — Мобильное приложение
mobileapp — Мобильная платформа
ml — Машинное обучение
perfmon — Монитор производительности
photogallery — Фотогалерея 2.0
pull — Push and Pull
recyclebin — Корзина удаленных сущностей
report — Конструктор отчетов
rest — REST API
rpa — Роботизация бизнеса
sale — Интернет-магазин
salescenter — Продажи в чате
scale — Масштабирование
search — Поиск
security — Проактивная защита
seo — Поисковая оптимизация
sender — Email-маркетинг
socialnetwork — Социальная сеть
socialservices — Социальные сервисы
statistic — Веб-аналитика
storeassist — Мастер магазина
subscribe — Подписка, рассылки
support — Техподдержка
tasks — Задачи
timeman — Учет рабочего времени
translate — Перевод
transformer — Конвертер файлов
transformercontroller — Сервер конвертации файлов
video — Видеоконференции
vote — Опросы, голосования
voximplant — Телефония
webdav — Библиотека документов
webservice — Веб-сервисы
wiki — Wiki
workflow — Документооборот
xdimport — Импорт данных из внешних источников
xmpp — XMPP сервер
ui — UI-библиотека
Список всех стандартных модулей в продуктах 1С-Битрикс и Битрикс24.
*/
1С — Интеграция с 1С
abtest — А/В тестирование
ldap — AD/LDAP интеграция
advertising — Реклама, баннеры
b24connector — Интеграция с Битрикс24
bitrixcloud — Облако 1С-Битрикс
bizproc — Бизнес процессы
bizprocdesigner — Дизайнер бизнес-процессов
blog — Блоги
calendar — Календарь событий
catalog — Торговый каталог
cluster — Веб-кластер
clouds — Облачные хранилища
compression — Компрессия
controller — Контроллер
conversion — Конверсия
crm — CRM
currency — Валюты
DAV — dav
desktop — Десктопное приложение
disk — Диск
documentgenerator — Генератор документов
extranet — Экстранет
faceid — Распознавание лиц
fileman — Управление структурой
form — Веб-формы
forum — Форум
highloadblock — Highload-блоки
iblock — Информационные блоки
idea — Менеджер идей
im — Веб-мессенджер
imbot — Чат-боты Битрикс24
imconnector — Коннекторы для внешних мессенджеров
imopenlines — Открытые линии
intranet — Интранет
learning — Обучение
lists — Универсальные списки
location — Адреса и Местоположения
landing — Сайты 24
mail — Почта
main — Главный модуль
messageservice — Служба сообщений
meeting — Планерки и собрания
mobile — Мобильное приложение
mobileapp — Мобильная платформа
ml — Машинное обучение
perfmon — Монитор производительности
photogallery — Фотогалерея 2.0
pull — Push and Pull
recyclebin — Корзина удаленных сущностей
report — Конструктор отчетов
rest — REST API
rpa — Роботизация бизнеса
sale — Интернет-магазин
salescenter — Продажи в чате
scale — Масштабирование
search — Поиск
security — Проактивная защита
seo — Поисковая оптимизация
sender — Email-маркетинг
socialnetwork — Социальная сеть
socialservices — Социальные сервисы
statistic — Веб-аналитика
storeassist — Мастер магазина
subscribe — Подписка, рассылки
support — Техподдержка
tasks — Задачи
timeman — Учет рабочего времени
translate — Перевод
transformer — Конвертер файлов
transformercontroller — Сервер конвертации файлов
video — Видеоконференции
vote — Опросы, голосования
voximplant — Телефония
webdav — Библиотека документов
webservice — Веб-сервисы
wiki — Wiki
workflow — Документооборот
xdimport — Импорт данных из внешних источников
xmpp — XMPP сервер
ui — UI-библиотека
Пример своего модуля url
Шаблон
Пример своего модуля
Битрикс — Свой модуль с минимальным набором.
/**
Подключение своего модуля */
\Bitrix\Main\Loader::includeModule("bxprof.main");
Скачать: bxprof.main.rar
Инфоблоки
Получить список элементов url
Шаблон
Получить список элементов
Метод \Bitrix\Iblock\ElementTable::getList() в 1С-Битрикс используется для получения списка элементов информационного блока. Принимает ряд параметров, включая order, select, filter, group, limit, offset, count_total, runtime, data_doubling, cache.
// Выборка элементов информационного блока
$res = \Bitrix\Iblock\ElementTable::getList(array(
"order" => array("SORT" => "ASC"),
"select" => array("ID", "NAME", "IBLOCK_ID", "SORT", "TAGS"),
"filter" => array("IBLOCK_ID" => 1),
"group" => array("TAGS"),
"limit" => 1000,
"offset" => 0,
"count_total" => 1,
"runtime" => array(),
"data_doubling" => false,
"cache" => array(
"ttl" => 3600,
"cache_joins" => true
),
));
while($arItem = $res->fetch()){
echo "<pre>";
print_r($arItem);
echo "</pre>";
}
/***
order — Сортировка
select — Выбираемые поля без свойств, свойства можно получать только при обращении к ORM классу, конкретного инфоблока
filter — Фильтр только по полям элемента
group — Группировка по полю, order должен быть пустой
limit — Ограничение выбираемого кол-ва
offset — Число, указывающее номер первого столбца в результате
count_total — Дает возможность получить кол-во элементов через метод getCount()
runtime — Массив полей сущности, создающихся динамически
data_doubling — Разрешает получение нескольких одинаковых записей
cache — Кеш запроса
*/
// Количество найденных записей без учета limit, доступно если при запросе было указано count_total = 1:
echo $res->getCount();
// Количество полученных записей с учетом limit, доступно если при запросе было указано count_total = 1:
echo $res->getSelectedRowsCount();
Хайлоадблоки
Компиляция сущности GetEntityDataClass() url
Шаблон
Компиляция сущности GetEntityDataClass()
Функция GetEntityDataClass упрощает доступ к данным Highload-блока, предоставляя скомпелированный класс, с помощью которого можно работать с записями этого блока.
use Bitrix\Highloadblock\HighloadBlockTable as HLBT;
use Bitrix\Main\Loader;
// Подключаем модуль
Loader::includeModule("highloadblock");
// Компиляция сущности хайлоадблока
function GetEntityDataClass($HlBlockId){
if(empty($HlBlockId) || $HlBlockId < 1)
{
return false;
}
$hlblock = HLBT::getById($HlBlockId)->fetch();
$entity = HLBT::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
return $entity_data_class;
}
Вот описание того,
что делает каждый шаг функции:
1. Проверка входного параметра
- Функция принимает один параметр $HlBlockId,
который должен быть идентификатором Highload-блока.
- Если $HlBlockId пустой или меньше 1, функция возвращает false,
что предотвращает выполнение дальнейших операций с некорректным идентификатором.
2. Получение Highload-блока
- Используется метод getById класса HighloadBlockTable (as HLBT) для получения
информации о Highload-блоке по его идентификатору $HlBlockId.
- Метод fetch() извлекает данные Highload-блока в виде массива.
3. Компиляция сущности
- Метод compileEntity класса HighloadBlockTable (as HLBT) используется
для компиляции сущности Highload-блока на основе полученных данных.
4. Получение класса данных сущности
- Метод getDataClass() вызывается у скомпилированной сущности
для получения класса данных,
который позволяет взаимодействовать с записями Highload-блока.
5. Возврат класса данных
- Функция возвращает класс данных сущности,
который можно использовать для выполнения CRUD-операций
(создание, чтение, обновление, удаление) с записями Highload-блока.
что делает каждый шаг функции:
1. Проверка входного параметра
- Функция принимает один параметр $HlBlockId,
который должен быть идентификатором Highload-блока.
- Если $HlBlockId пустой или меньше 1, функция возвращает false,
что предотвращает выполнение дальнейших операций с некорректным идентификатором.
2. Получение Highload-блока
- Используется метод getById класса HighloadBlockTable (as HLBT) для получения
информации о Highload-блоке по его идентификатору $HlBlockId.
- Метод fetch() извлекает данные Highload-блока в виде массива.
3. Компиляция сущности
- Метод compileEntity класса HighloadBlockTable (as HLBT) используется
для компиляции сущности Highload-блока на основе полученных данных.
4. Получение класса данных сущности
- Метод getDataClass() вызывается у скомпилированной сущности
для получения класса данных,
который позволяет взаимодействовать с записями Highload-блока.
5. Возврат класса данных
- Функция возвращает класс данных сущности,
который можно использовать для выполнения CRUD-операций
(создание, чтение, обновление, удаление) с записями Highload-блока.
Получить элементы хайлоадблока url
Шаблон
Получить элементы хайлоадблока
Битрикс — Получить элементы хайлоадблока с ID, которые удовлетворяют filter. Вернет столбцы, перечисленные в select и отсортирует записи по order. Также поддерживаются и другие аргументы.
/**
Перед использованием необходимо подключить
функцию GetEntityDataClass
— Описание GetEntityDataClass в
материале — Компиляция сущности GetEntityDataClass().
*/
// Получить список записей
$ticketTable = GetEntityDataClass(185);
$ticketData = $ticketTable::getList(array(
"select" => array("*"),
"filter" => array(),
"order" => array(),
));
while($arrTicket = $ticketData->fetch()){
print_r($arrTicket);
}
1. Получение класса сущности:
$ticketTable = GetEntityDataClass(185);
Здесь вызывается функция GetEntityDataClass с аргументом 185, где 185 - идентификатор хайлоадблока.
2. Получение данных:
$ticketData = $ticketTable::getList(array(
"select" => array("*"),
"filter" => array(),
"order" => array(),
));
3. Обработка и вывод данных:
while($arrTicket = $ticketData->fetch()){
print_r($arrTicket);
}
В цикле while метод fetch() извлекает каждую запись по очереди из результата запроса.
Каждая запись сохраняется в переменной $arrTicket, и затем выводится с помощью print_r(),
что позволяет увидеть структуру и данные каждой записи.
$ticketTable = GetEntityDataClass(185);
Здесь вызывается функция GetEntityDataClass с аргументом 185, где 185 - идентификатор хайлоадблока.
2. Получение данных:
$ticketData = $ticketTable::getList(array(
"select" => array("*"),
"filter" => array(),
"order" => array(),
));
3. Обработка и вывод данных:
while($arrTicket = $ticketData->fetch()){
print_r($arrTicket);
}
В цикле while метод fetch() извлекает каждую запись по очереди из результата запроса.
Каждая запись сохраняется в переменной $arrTicket, и затем выводится с помощью print_r(),
что позволяет увидеть структуру и данные каждой записи.
Связанные материалы
Добавление элемента хайлоаблока url
Шаблон
Добавление элемента хайлоаблока
Битрикс – Добавляет запись (элемент) в хайлоадблок с переданным идентификатором. Принимает массив полей хайлоадблока и в случае успешного добавления новой записи возвращает идентификатор новой записи. В случае ошибки возвращает текст ошибки.
/**
Перед использованием необходимо подключить
функцию GetEntityDataClass
— Описание GetEntityDataClass в
материале — Компиляция сущности GetEntityDataClass().
*/
// Добавить запись
$ticketAdd = GetEntityDataClass(185);
$ticket_add_result = $ticketAdd::add(array(
"UF_DATE" => date("d.m.Y H:i:s"),
"UF_USER" => 1,
));
if($ticket_add_result->isSuccess()){
$NEW_ID = $ticket_add_result->getId();
}else{
$errors = $ticket_add_result->getErrorMessages();
}
Связанные материалы
Обновить элемент хайлоадблока url
Шаблон
Обновить элемент хайлоадблока
Битрикс — Обновляет запись (элемент) хайлоадблока с переданным идентификатором записи. Принимает массив полей хайлоадблока, для которых перезаписывает значения.
/**
Перед использованием необходимо подключить
функцию GetEntityDataClass
— Описание GetEntityDataClass в
материале — Компиляция сущности GetEntityDataClass().
*/
// Обновить запись
$ticketTable = GetEntityDataClass(185);
$ticket_update_result = $ticketTable::update(ID_ЗАПИСИ, array(
"UF_STATUS" => 1,
"UF_DATA_COMPLETION" => date("d.m.Y"),
));
if(!$ticket_update_result->isSuccess()){
$errors = $ticket_update_result->getErrorMessages();
}
Связанные материалы
Удалить элемент хайлоадблока url
Шаблон
Удалить элемент хайлоадблока
Битрикс — Удалить запись (элемент) хайлоадблока с ID.
/**
Перед использованием необходимо подключить
функцию GetEntityDataClass
— Описание GetEntityDataClass в
материале — Компиляция сущности GetEntityDataClass().
*/
// Удалить запись
$ticketTable = GetEntityDataClass(185);
$ticket_delete_result = $ticketTable::delete(ID_ЗАПИСИ);
if(!$ticket_update_result->isSuccess()){
$errors = $ticket_delete_result->getErrorMessages();
}
Связанные материалы
Кол-во элементов url
Шаблон
Кол-во элементов
Чтобы в Битриксе получить количество элементов хайлоадблока по фильтру, можно использовать следующий код.
/**
Перед использованием необходимо подключить
функцию GetEntityDataClass
— Описание GetEntityDataClass в
материале — Компиляция сущности GetEntityDataClass().
*/
$ticketTable = GetEntityDataClass(1); // ID хайлоадблока
$ticketData = $ticketTable::getList(array(
"select" => array("CNT"),
"filter" => array("=UF_STATUS" => "1"),
"runtime" => array(
new \Bitrix\Main\Entity\ExpressionField("CNT", "COUNT(*)"),
),
));
if($countTicket = $ticketData->Fetch());
echo $countTicket["CNT"]; // Выведет кол-во элем. удовлетворяющих условию по filter
Связанные материалы
Выборка с постраничной навигацией url
Шаблон
Выборка с постраничной навигацией
Битрикс — Получить и вывести элементы хайлоадблока с постраничной навигацией.
/**
Перед использованием необходимо подключить
функцию GetEntityDataClass
— Описание GetEntityDataClass в
материале — Компиляция сущности GetEntityDataClass().
*/
// Получить список записей
$nav = new \Bitrix\Main\UI\PageNavigation("page");
$nav->allowAllRecords(false)
->setPageSize(20) // Кол-во элементов на странице
->initFromUri();
$ticketTable = GetEntityDataClass(185);
$ticketData = $ticketTable::getList(array(
"select" => array("*"),
"count_total" => true,
"offset" => $nav->getOffset(),
"limit" => $nav->getLimit(),
"filter" => array(),
"order" => array("ID" => "DESC"),
));
$nav->setRecordCount($ticketData->getCount());
if($ticketData->getCount() > 0){
while($arrTicket = $ticketData->fetch()){
print_r($arrTicket);
}
}else{
echo "Нет элементов ...";
}
// Выводим компонент постраничной навигации.
$APPLICATION->IncludeComponent(
"bitrix:main.pagenavigation",
"",
array(
"NAV_OBJECT" => $nav,
"SEF_MODE" => "N", // Вкл./Откл. ЧПУ
),
false
);
Связанные материалы
CFile
Путь к файлу по ID url
Шаблон
Путь к файлу по ID
Возвращает путь от корня сайта к зарегистрированному в b_file файлу.
CFile::GetPath($arItem["FILE"]);
CFile url
Шаблон
CFile
Битрикс — Методы класса CFile: Получить путь к файлу по ID, получить описание зарегистрированного файла в таблице b_file, проверить расширение и заданный MIME-тип файла, формирование массива описывающего файл, удалить файл по ID.
/**
Получить путь к файлу по ID */
CFile::GetPath($file_id); // $file_id — ID файла в таблице b_file
/**
Получить описание зарег. файла в таблице b_file */
$arrFile = CFile::GetFileArray(ID_FILE);
print_r($arrFile["ORIGINAL_NAME"]);
/**
Метод проверяет расширение и заданный MIME тип файла.
Если расширение и MIME тип файла соответствуют изображению,
то возвращает "true", иначе "false".
*/
if(CFile::IsImage($arFile["FILE_NAME"], $arFile["CONTENT_TYPE"])){
echo "The file is an image";
}else{
echo "The file is not an image";
}
/**
Метод формирует массив описывающий файл
Массив может быть использован в методах SaveFile, CheckFile, CheckImageFile */
CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/screen.gif");
/**
Удалить файл по ID (Удаляет из b_file и физически из папки upload) */
CFile::Delete($file_id); // $file_id — ID файла в таблице b_file
Обработка картинок
CFile::ResizeImageGet url
Шаблон
CFile::ResizeImageGet
Метод уменьшает картинку и размещает уменьшенную копию в папку /upload/resize_cache/... Один раз уменьшив изображение получаем физический файл, который позволяет при последующих обращениях не проводить операции по уменьшению изображения. При следующем вызове метод вернет путь к уменьшенному файлу.
$file = CFile::ResizeImageGet(
$user["PERSONAL_PHOTO"], // ID файла фотографий в таблице b_file
["width" => 300, "height" => 300],
BX_RESIZE_IMAGE_PROPORTIONAL,
true
);
/** Вывод
$file["src"]
$file["width"]
$file["height"]
*/
array CFile::ResizeImageGet(
mixed file,
array arSize,
const resizeType = BX_RESIZE_IMAGE_PROPORTIONAL,
bool bInitSizes = false,
array arFilters = false,
bool bImmediate = false,
bool jpgQuality = false
);
/*** resizeType ***/
BX_RESIZE_IMAGE_EXACT - масштабирует в прямоугольник $arSize c сохранением пропорций, обрезая лишнее;
BX_RESIZE_IMAGE_PROPORTIONAL - масштабирует с сохранением пропорций, размер ограничивается $arSize;
BX_RESIZE_IMAGE_PROPORTIONAL_ALT - масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.
CFile::ResizeImageGet (Водяной знак) url
Шаблон
CFile::ResizeImageGet (Водяной знак)
Битрикс — Наложить водяной знак на фотографию при помощи метода CFile::ResizeImageGet(). При использовании метода создается копия картинки в папке /upload/resize_cache/... Оригинальная фотография не изменяется.
// Наложение водяного знака
$param = array(
array(
"name" => "watermark",
"position" => "mc", // Положение
"type" => "image",
"size" => "real",
"file" => $_SERVER["DOCUMENT_ROOT"]."/images/watermark.png",
"fill" => "exact",
)
);
$photo = CFile::ResizeImageGet(
$photoId, // ID файла фотографий в таблице b_file
array("width" => 1200, "height" => 1200),
BX_RESIZE_IMAGE_EXACT,
true,
$param
);
"name" => "watermark",
"position" => "mc", // (доступные варианты tl|tc|tr|ml|mc|mr|bl|bc|br) прим. tl - Top Left, mc - Medium Сenter, br - Bottom Right
"type" => "image", // (доступные варианты "image|text")
"size" => "real", // (доступные варианты big|medium|small|real; real доступен только для type=image )
"coefficient" => "1", // (альтернатива параметру size. В случае текстового варианта - от 1 до 7, по крайней мере так в исходниках; для картинок 0.1 до 1)
"fill" => "exact", // (доступные варианты exact|resize|repeat )
"file" => $_SERVER["DOCUMENT_ROOT"]."/images/watermark.png", // (абсолютный путь до картинки с водяным знаком)
"text" => "Водяной знак!", // (текст водяного знака )
"color" => "ff0000", // (hex формат цвета текста )
"font" => $_SERVER["DOCUMENT_ROOT"]."/arial.ttf", // (путь до файла шрифта в формате .ttf)
"use_copyright" => "Y" // (использовать ли знак копирайта перед текстом)
Дата и время
Дата и время url
Шаблон
Дата и время
Работа с датой и временем в 1С-Битрикс.
use Bitrix\Main\Type\DateTime;
$objDateTime = DateTime::createFromPhp(new \DateTime("2023-01-01"));
$objDateTime = DateTime::createFromTimestamp(1697391034);
// Текущее время:
$objDateTime = new DateTime();
// Из строки в формате текущего сайта
$objDateTime = new DateTime("25.12.2023 12:30:00");
// Из строки с указанием формата:
$objDateTime = new DateTime("2023-05-14 12:10:00", "Y-m-d H:i:s");
// Из объекта можно получить представление в виде timestamp:
echo $objDateTime->getTimestamp();
// в виде строки в формате текущего сайта:
echo $objDateTime->toString();
// в произвольном формате (фактически обёртка над DateTime::format):
echo $objDateTime->format("Y-m-d H:i:s");
// Метод add реализует сложение и вычитание дат,
// можно указывать смещение словами years, months, days, weeks, hours, minutes, seconds и знаками +/-
$objDateTime = new DateTime("01.01.2023 00:00:00"); // "2023-01-01 00:00:00"
$objDateTime->add("1 day"); // "2023-01-01 00:00:00" => "2023-01-02 00:00:00"
$objDateTime->add("-1 day"); // "2023-01-01 00:00:00" => "2022-12-31 00:00:00"
$objDateTime->add("3 months - 5 days + 10 minutes"); // "2023-01-01 00:00:00" => "2023-03-27 00:10:00"
Форматирование
Номер телефона url
Шаблон
Номер телефона
Битрикс — Форматирование номера телефона.
/**
Разбор номера телефона в объект */
$phone = "+7 (921) 092-53-33";
$parsedPhone = \Bitrix\Main\PhoneNumber\Parser::getInstance()->parse($phone);
Bitrix\Main\PhoneNumber\PhoneNumber Object
(
[rawNumber:protected] => +7 (921) 092-53-33
[country:protected] => RU
[valid:protected] => 1
[countryCode:protected] => 7
[nationalNumber:protected] => 9210925333
[nationalPrefix:protected] =>
[hasPlus:protected] => 1
[numberType:protected] => mobile
[extension:protected] =>
[extensionSeparator:protected] =>
[international:protected] => 1
)
echo $parsedPhone->getCountry(); // RU
echo $parsedPhone->getCountryCode(); // 7
...
# Форматирование номера в формате E164 (+79210925333)
$parsedPhone->format(\Bitrix\Main\PhoneNumber\Format::E164);
# Форматирование номера в интернациональном формате (+7 921 092-53-33):
$parsedPhone->format(\Bitrix\Main\PhoneNumber\Format::INTERNATIONAL)
# Форматирование номера в национальном формате (8 (921) 092-53-33):
$parsedPhone->format(\Bitrix\Main\PhoneNumber\Format::NATIONAL)
Ограничение длины строки (TruncateText) url
Шаблон
Ограничение длины строки (TruncateText)
Битрикс — Ограничение длины строки при помощи функции TruncateText(). Функция принимает 2 параметра: text - исходная строка и len - длина конечной строки. Функция TruncateText() отсекает от строки все символы свыше указанной длины. Если отсечение произошло, то к строке дописывается многоточие.
$str = "1234567890";
echo TruncateText($str, 7);
// результатом будет строка "1234567..."
Почта
Отправить E-mail url
Шаблон
Отправить E-mail
Метод в Битрикс \Bitrix\Main\Mail\Event::send() – создает почтовое событие, которое в дальнейшем будет отправлено в качестве E-Mail сообщения. Возвращает идентификатор созданного события. Метод в Битрикс \Bitrix\Main\Mail\Event::sendImmediate() отправляет сообщение немедленно.
/**
Отправка сообщения по почтовому
событию USER_INFO для сайта "s1" по расписанию */
\Bitrix\Main\Mail\Event::send(array(
"EVENT_NAME" => "USER_INFO",
"LID" => "s1",
"C_FIELDS" => array(
"EMAIL" => "test@mysite.ru",
"USER_ID" => 235
),
));
/**
Мгновенная отправка сообщения по почтовому
событию USER_INFO для сайта "s1" */
\Bitrix\Main\Mail\Event::sendImmediate(array(
"EVENT_NAME" => "USER_INFO",
"LID" => "s1",
"C_FIELDS" => array(
"EMAIL" => "test@mysite.ru",
"USER_ID" => 235
),
));
/**
Мгновенная отправка на почту
отправленного на сервер файла вложением */
$fileId = false;
if($_FILES["file"])
$fileId = \CFile::SaveFile($_FILES["file"], "mailatt");
\Bitrix\Main\Mail\Event::sendImmediate(array( // or send
"EVENT_NAME" => "VM_SERVICE_REQUEST",
"LID" => "s1",
"C_FIELDS" => array(
"EMAIL" => "test@mysite.ru",
USER_ID" => 235
),
"FILE" => array($fileId),
));
if($fileId)
CFile::Delete($fileId);
/*
$fileId - Передать ID файлов из таблицы b_file
Или можно передать массив абсолютных путей до файлов.
*/
SMS
Отправить SMS url
Шаблон
Отправить SMS
Битрикс — Отправить SMS-сообщение при помощи \Bitrix\Main\Sms\Event(), который принимает Тип сообщения (Код типа) и массив данных.
/***
Для начала необходимо выбрать и настроить
провайдера SMS в настройках модуля "Служба сообщений".
Затем установить отправителя
по умолчанию в настройках главного модуля.
Следующий код подразумевает,
что создан тип SMS-события "MY_SMS_EVENT" и шаблон для него.
*/
$fields = array(
"PHONE" => "+79990000000",
"MACROS1" => "Текст макроса 1",
"MACROS2" => "Текст макроса 2",
);
$sms = new \Bitrix\Main\Sms\Event("MY_SMS_EVENT", $fields);
$sms->setSite("s1");
$sms->setLanguage("ru");
$sms->send();
Проверить, что было отправлено,
можно, если посмотреть данные из таблицы b_messageservice_message
или с помощью SQL запроса:
$connection = \Bitrix\Main\Application::getConnection();
$result = $connection->query("SELECT * FROM b_messageservice_message ORDER BY ID DESC");
Push and Pull
Push and Pull url
Шаблон
Push and Pull
Битрикс — работа с Push and Pull. Создание событий и JS-ловушка для обработки событий.
// В init.php
AddEventHandler("pull", "OnGetDependentModule", ["PullService", "getPullModule"]);
class PullService
{
public static function getPullModule()
{
return [
"MODULE_ID" => "bxprof.main",
"USE" => ["PUBLIC_SECTION"],
];
}
}
// Отправить событие
\Bitrix\Pull\Event::add(intval($ticket["UF_CLIENT"]), Array(
"module_id" => "bxprof.main",
"command" => "messageTyped",
"params" => Array(
"senderId" => $USER->GetID(),
"ticketId" => $request->get("ticket_id"),
),
));
// Ловушка - JS
BX.addCustomEvent("onPullEvent-bxprof.main", BX.delegate(function(command,params){
console.log(params);
}, this));
PHP
cURL в PHP
GET-запрос url
Шаблон
GET-запрос
PHP GET-запрос при помощи cURL. Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP и выводит полученный результат.
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
1. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос, в данном примере 'https://example.com'.
2. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, что означает, что результат выполнения curl_exec() будет возвращен как строка, а не выведен напрямую.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, что отключает проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, что означает, что заголовки ответа не будут включены в возвращаемый результат.
3. Выполнение запроса:
$html = curl_exec($ch);
Выполняет запрос и сохраняет полученный результат в переменной $html.
4. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все ресурсы, связанные с ней.
5. Вывод результата:
echo $html;
Выводит полученный результат на экран.
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос, в данном примере 'https://example.com'.
2. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, что означает, что результат выполнения curl_exec() будет возвращен как строка, а не выведен напрямую.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, что отключает проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, что означает, что заголовки ответа не будут включены в возвращаемый результат.
3. Выполнение запроса:
$html = curl_exec($ch);
Выполняет запрос и сохраняет полученный результат в переменной $html.
4. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все ресурсы, связанные с ней.
5. Вывод результата:
echo $html;
Выводит полученный результат на экран.
GET-запрос с параметрами url
Шаблон
GET-запрос с параметрами
PHP GET-запрос при помощи cURL с параметрами. Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP, добавляя параметры запроса из массива $get и выводит полученный результат.
$get = array(
'name' => 'Alex',
'email' => 'mail@example.com'
);
$ch = curl_init('https://example.com?' . http_build_query($get));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
1. Создание массива параметров:
$get = array(
'name' => 'Alex',
'email' => 'mail@example.com'
);
Создается ассоциативный массив $get с параметрами name и email, которые будут добавлены к URL в качестве параметров запроса.
2. Инициализация cURL с параметрами запроса:
$ch = curl_init('https://example.com?' . http_build_query($get));
Функция http_build_query($get) преобразует массив $get в строку запроса, например: name=Alex&email=mail@example.com. Эта строка добавляется к URL 'https://example.com', формируя полный URL с параметрами запроса.
3. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет GET-запрос к указанному URL и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный результат на экран.
$get = array(
'name' => 'Alex',
'email' => 'mail@example.com'
);
Создается ассоциативный массив $get с параметрами name и email, которые будут добавлены к URL в качестве параметров запроса.
2. Инициализация cURL с параметрами запроса:
$ch = curl_init('https://example.com?' . http_build_query($get));
Функция http_build_query($get) преобразует массив $get в строку запроса, например: name=Alex&email=mail@example.com. Эта строка добавляется к URL 'https://example.com', формируя полный URL с параметрами запроса.
3. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет GET-запрос к указанному URL и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный результат на экран.
POST-запрос url
Шаблон
POST-запрос
PHP POST-запрос при помощи cURL с параметрами. Выполняет HTTP POST-запрос к указанному URL с использованием библиотеки cURL в PHP, отправляя данные из массива $array в теле запроса.
$array = array(
'login' => 'admin',
'password' => '1234'
);
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
1. Создание массива данных:
$array = array(
'login' => 'admin',
'password' => '1234'
);
Создается ассоциативный массив $array с данными login и password, которые будут отправлены в теле POST-запроса.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос, в данном примере 'https://example.com'.
3. Настройка параметров cURL для POST-запроса:
curl_setopt($ch, CURLOPT_POST, 1);
Устанавливает параметр CURLOPT_POST в 1, что указывает на выполнение POST-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, '', '&'));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. Функция http_build_query($array, '', '&') преобразует массив $array в строку запроса, например: login=admin&password=1234.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет POST-запрос к указанному URL и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный результат на экран.
$array = array(
'login' => 'admin',
'password' => '1234'
);
Создается ассоциативный массив $array с данными login и password, которые будут отправлены в теле POST-запроса.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос, в данном примере 'https://example.com'.
3. Настройка параметров cURL для POST-запроса:
curl_setopt($ch, CURLOPT_POST, 1);
Устанавливает параметр CURLOPT_POST в 1, что указывает на выполнение POST-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, '', '&'));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. Функция http_build_query($array, '', '&') преобразует массив $array в строку запроса, например: login=admin&password=1234.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет POST-запрос к указанному URL и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный результат на экран.
JSON через POST-запрос url
Шаблон
JSON через POST-запрос
PHP GET-запрос при помощи cURL с отправкой данных в JSON. Выполняет HTTP POST-запрос к указанному URL с использованием библиотеки cURL в PHP, отправляя данные в формате JSON.
$data = array(
'name' => 'Это название',
'price' => 100
);
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
$res = json_encode($res, JSON_UNESCAPED_UNICODE);
print_r($res);
1. Создание массива данных:
$data = array(
'name' => 'Это название',
'price' => 100
);
Создается ассоциативный массив $data с данными name и price, которые будут отправлены в теле POST-запроса в формате JSON.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для отправки JSON:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
Устанавливает заголовок Content-Type как application/json, чтобы указать, что данные будут отправлены в формате JSON.
curl_setopt($ch, CURLOPT_POST, 1);
Устанавливает параметр CURLOPT_POST в 1, что указывает на выполнение POST-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. Функция json_encode($data, JSON_UNESCAPED_UNICODE) преобразует массив $data в JSON-строку, сохраняя символы Unicode.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$res = curl_exec($ch);
Выполняет POST-запрос к указанному URL и сохраняет полученный ответ в переменной `$res`.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Обработка и вывод результата:
$res = json_encode($res, JSON_UNESCAPED_UNICODE);
print_r($res);
Преобразует ответ в JSON-строку с сохранением символов Unicode и выводит его. Однако, это преобразование может быть избыточным, если ответ уже является строкой.
Этот код полезен для отправки данных на сервер в формате JSON, что часто используется в API-запросах.
$data = array(
'name' => 'Это название',
'price' => 100
);
Создается ассоциативный массив $data с данными name и price, которые будут отправлены в теле POST-запроса в формате JSON.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для отправки JSON:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
Устанавливает заголовок Content-Type как application/json, чтобы указать, что данные будут отправлены в формате JSON.
curl_setopt($ch, CURLOPT_POST, 1);
Устанавливает параметр CURLOPT_POST в 1, что указывает на выполнение POST-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_UNICODE));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. Функция json_encode($data, JSON_UNESCAPED_UNICODE) преобразует массив $data в JSON-строку, сохраняя символы Unicode.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$res = curl_exec($ch);
Выполняет POST-запрос к указанному URL и сохраняет полученный ответ в переменной `$res`.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Обработка и вывод результата:
$res = json_encode($res, JSON_UNESCAPED_UNICODE);
print_r($res);
Преобразует ответ в JSON-строку с сохранением символов Unicode и выводит его. Однако, это преобразование может быть избыточным, если ответ уже является строкой.
Этот код полезен для отправки данных на сервер в формате JSON, что часто используется в API-запросах.
PUT-запрос url
Шаблон
PUT-запрос
Выполнить HTTP PUT-запрос к указанному URL с использованием библиотеки cURL в PHP, отправляя данные в теле запроса.
$data = array(
'name' => 'Это название',
'price' => 100
);
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($array, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
1. Создание массива данных:
$data = array(
'name' => 'Это название',
'price' => 100
);
Создается ассоциативный массив `$data` с данными `name` и `price`, которые будут отправлены в теле PUT-запроса.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для PUT-запроса:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
Устанавливает параметр CURLOPT_CUSTOMREQUEST в PUT, что указывает на выполнение PUT-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. Функция http_build_query($data, '', '&') преобразует массив $data в строку запроса, например: name=Это+название&price=100.
4. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
5. Выполнение запроса:
$html = curl_exec($ch);
Выполняет PUT-запрос к указанному URL и сохраняет полученный ответ в переменной `$html`.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
7. Вывод результата:
echo $html;
Выводит полученный ответ на экран.
Этот код полезен для отправки данных на сервер через PUT-запрос, что часто используется для обновления существующих ресурсов.
$data = array(
'name' => 'Это название',
'price' => 100
);
Создается ассоциативный массив `$data` с данными `name` и `price`, которые будут отправлены в теле PUT-запроса.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для PUT-запроса:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
Устанавливает параметр CURLOPT_CUSTOMREQUEST в PUT, что указывает на выполнение PUT-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. Функция http_build_query($data, '', '&') преобразует массив $data в строку запроса, например: name=Это+название&price=100.
4. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
5. Выполнение запроса:
$html = curl_exec($ch);
Выполняет PUT-запрос к указанному URL и сохраняет полученный ответ в переменной `$html`.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
7. Вывод результата:
echo $html;
Выводит полученный ответ на экран.
Этот код полезен для отправки данных на сервер через PUT-запрос, что часто используется для обновления существующих ресурсов.
DELETE-запрос url
Шаблон
DELETE-запрос
Выполняет HTTP DELETE-запрос к указанному URL с использованием библиотеки cURL в PHP.
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);
curl_close($ch);
1. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос, в данном случае 'https://example.com'.
2. Настройка параметров cURL для DELETE-запроса:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
Устанавливает параметр CURLOPT_CUSTOMREQUEST в DELETE, что указывает на выполнение DELETE-запроса. Этот тип запроса обычно используется для удаления ресурса на сервере.
3. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
curl_exec($ch);
Выполняет DELETE-запрос к указанному URL.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
Этот код используется для отправки DELETE-запросов на сервер, что обычно используется для удаления ресурсов. Результат выполнения запроса не сохраняется и не обрабатывается в данном примере.
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос, в данном случае 'https://example.com'.
2. Настройка параметров cURL для DELETE-запроса:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
Устанавливает параметр CURLOPT_CUSTOMREQUEST в DELETE, что указывает на выполнение DELETE-запроса. Этот тип запроса обычно используется для удаления ресурса на сервере.
3. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
curl_exec($ch);
Выполняет DELETE-запрос к указанному URL.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
Этот код используется для отправки DELETE-запросов на сервер, что обычно используется для удаления ресурсов. Результат выполнения запроса не сохраняется и не обрабатывается в данном примере.
Отправка файлов на другой сервер url
Шаблон
Отправка файлов на другой сервер
Выполняет HTTP POST-запрос к указанному URL с использованием библиотеки cURL в PHP, отправляя файл изображения в теле запроса.
$curl_file = curl_file_create(__DIR__ . '/image.png', 'image/png' , 'image.png');
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => $curl_file));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
curl_close($ch);
1. Создание объекта файла для загрузки:
$curl_file = curl_file_create(__DIR__ . '/image.png', 'image/png', 'image.png');
Функция curl_file_create() создает объект файла для загрузки. Она принимает три параметра:
- Путь к файлу: __DIR__ . '/image.png' указывает на файл image.png в текущем каталоге.
- MIME-тип файла: 'image/png' указывает, что файл является изображением в формате PNG.
- Имя файла: 'image.png' указывает имя файла, которое будет использоваться при загрузке.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для POST-запроса:
curl_setopt($ch, CURLOPT_POST, 1);
Устанавливает параметр CURLOPT_POST в 1, что указывает на выполнение POST-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => $curl_file));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. В данном случае, это массив с ключом 'photo' и значением $curl_file, что указывает на загрузку файла.
4. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $res.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
5. Выполнение запроса:
$res = curl_exec($ch);
Выполняет POST-запрос к указанному URL и сохраняет полученный ответ в переменной $res.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
Этот код используется для отправки файлов на сервер через POST-запрос, например, для загрузки изображений.
$curl_file = curl_file_create(__DIR__ . '/image.png', 'image/png', 'image.png');
Функция curl_file_create() создает объект файла для загрузки. Она принимает три параметра:
- Путь к файлу: __DIR__ . '/image.png' указывает на файл image.png в текущем каталоге.
- MIME-тип файла: 'image/png' указывает, что файл является изображением в формате PNG.
- Имя файла: 'image.png' указывает имя файла, которое будет использоваться при загрузке.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для POST-запроса:
curl_setopt($ch, CURLOPT_POST, 1);
Устанавливает параметр CURLOPT_POST в 1, что указывает на выполнение POST-запроса.
curl_setopt($ch, CURLOPT_POSTFIELDS, array('photo' => $curl_file));
Устанавливает параметр CURLOPT_POSTFIELDS, который содержит данные для отправки в теле запроса. В данном случае, это массив с ключом 'photo' и значением $curl_file, что указывает на загрузку файла.
4. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $res.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
5. Выполнение запроса:
$res = curl_exec($ch);
Выполняет POST-запрос к указанному URL и сохраняет полученный ответ в переменной $res.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
Этот код используется для отправки файлов на сервер через POST-запрос, например, для загрузки изображений.
Скачивание файлов url
Шаблон
Скачивание файлов
Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP и сохраняет полученный результат в файл.
$file_name = __DIR__ . '/file.html';
$file = @fopen($file_name, 'w');
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);
curl_close($ch);
fclose($file);
1. Определение имени файла и открытие файла для записи:
$file_name = __DIR__ . '/file.html';
$file = @fopen($file_name, 'w');
Переменная $file_name содержит путь к файлу file.html в текущем каталоге. Функция fopen() открывает этот файл в режиме записи ('w'). Если файл не существует, он будет создан. Символ @ подавляет вывод ошибок, если файл не удается открыть.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для записи в файл:
curl_setopt($ch, CURLOPT_FILE, $file);
Устанавливает параметр CURLOPT_FILE, который указывает cURL записывать вывод напрямую в открытый файл $file.
4. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в записываемый файл.
5. Выполнение запроса:
curl_exec($ch);
Выполняет запрос к указанному URL и записывает полученный контент в файл file.html.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
7. Закрытие файла:
fclose($file);
Закрывает файл file.html, завершив запись.
Этот код используется для загрузки содержимого веб-страницы и его сохранения в файл.
$file_name = __DIR__ . '/file.html';
$file = @fopen($file_name, 'w');
Переменная $file_name содержит путь к файлу file.html в текущем каталоге. Функция fopen() открывает этот файл в режиме записи ('w'). Если файл не существует, он будет создан. Символ @ подавляет вывод ошибок, если файл не удается открыть.
2. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
3. Настройка параметров cURL для записи в файл:
curl_setopt($ch, CURLOPT_FILE, $file);
Устанавливает параметр CURLOPT_FILE, который указывает cURL записывать вывод напрямую в открытый файл $file.
4. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в записываемый файл.
5. Выполнение запроса:
curl_exec($ch);
Выполняет запрос к указанному URL и записывает полученный контент в файл file.html.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
7. Закрытие файла:
fclose($file);
Закрывает файл file.html, завершив запись.
Этот код используется для загрузки содержимого веб-страницы и его сохранения в файл.
HTTP-авторизация — Basic Authorization url
Шаблон
HTTP-авторизация — Basic Authorization
Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP, включая базовую аутентификацию. Если на сервере настроена HTTP авторизация, например с помощью .htpasswd, подключится к нему можно с помощью параметра CURLOPT_USERPWD.
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_USERPWD, 'login:password');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
1. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL для базовой аутентификации:
curl_setopt($ch, CURLOPT_USERPWD, 'login:password');
Устанавливает параметр CURLOPT_USERPWD, который задает строку в формате username:password для базовой HTTP-аутентификации. В данном случае используются login и password в качестве учетных данных.
3. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $html.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет запрос к указанному URL с использованием базовой аутентификации и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный результат на экран.
Данный код используется для выполнения запросов к защищенным ресурсам, требующим базовой аутентификации.
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL для базовой аутентификации:
curl_setopt($ch, CURLOPT_USERPWD, 'login:password');
Устанавливает параметр CURLOPT_USERPWD, который задает строку в формате username:password для базовой HTTP-аутентификации. В данном случае используются login и password в качестве учетных данных.
3. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $html.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет запрос к указанному URL с использованием базовой аутентификации и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный результат на экран.
Данный код используется для выполнения запросов к защищенным ресурсам, требующим базовой аутентификации.
HTTP-авторизация — OAuth url
Шаблон
HTTP-авторизация — OAuth
Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP, включая аутентификацию с использованием OAuth-токена.
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth TOKEN'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
1. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL для OAuth-аутентификации:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth TOKEN'));
Устанавливает заголовок Authorization с использованием OAuth-токена. Здесь TOKEN представляет собой строку токена, который используется для аутентификации запроса.
3. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $html.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет запрос к указанному URL с использованием OAuth-аутентификации и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный HTML-контент на экран.
Этот код используется для выполнения запросов к API или другим ресурсам, требующим аутентификации с использованием OAuth-токена.
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL для OAuth-аутентификации:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth TOKEN'));
Устанавливает заголовок Authorization с использованием OAuth-токена. Здесь TOKEN представляет собой строку токена, который используется для аутентификации запроса.
3. Дополнительные настройки cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $html.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Устанавливает параметр CURLOPT_SSL_VERIFYPEER в false, отключая проверку SSL-сертификата. Это может быть небезопасно, так как делает соединение уязвимым для атак типа "человек посередине" (MITM).
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
4. Выполнение запроса:
$html = curl_exec($ch);
Выполняет запрос к указанному URL с использованием OAuth-аутентификации и сохраняет полученный результат в переменной $html.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод результата:
echo $html;
Выводит полученный HTML-контент на экран.
Этот код используется для выполнения запросов к API или другим ресурсам, требующим аутентификации с использованием OAuth-токена.
Получить HTTP-код ответа сервера url
Шаблон
Получить HTTP-код ответа сервера
Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP и выводит HTTP-статус код ответа.
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $http_code; // Выведет: 200
1. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
3. Выполнение запроса:
curl_exec($ch);
Выполняет запрос к указанному URL.
4. Получение HTTP-статус кода:
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
Использует функцию curl_getinfo() для получения информации о выполненном запросе, в частности, HTTP-статус кода ответа, который сохраняется в переменной $http_code.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод HTTP-статус кода:
echo $http_code;
Выводит HTTP-статус код ответа на экран.
Данный код показывает пример проверки выполнения HTTP-запроса.
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
3. Выполнение запроса:
curl_exec($ch);
Выполняет запрос к указанному URL.
4. Получение HTTP-статус кода:
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
Использует функцию curl_getinfo() для получения информации о выполненном запросе, в частности, HTTP-статус кода ответа, который сохраняется в переменной $http_code.
5. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
6. Вывод HTTP-статус кода:
echo $http_code;
Выводит HTTP-статус код ответа на экран.
Данный код показывает пример проверки выполнения HTTP-запроса.
Если CURL возвращает false url
Шаблон
Если CURL возвращает false
Выполняет HTTP-запрос к указанному URL с использованием библиотеки cURL в PHP и обрабатывает возможные ошибки, которые могут возникнуть во время выполнения запроса.
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
$res = curl_exec($ch);
var_dump($res); // false
if ($errno = curl_errno($ch)) {
$message = curl_strerror($errno);
echo "cURL error ({$errno}):\n {$message}"; // Выведет: cURL error (35): SSL connect error
}
curl_close($ch);
1. Инициализация cURL:
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $res.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
3. Выполнение запроса:
$res = curl_exec($ch);
Выполняет запрос к указанному URL и записывает результат в $res.
4. Вывод результата:
var_dump($res); // false
Выводит результат выполнения запроса. Если запрос завершился с ошибкой, curl_exec() вернет false.
5. Обработка ошибок cURL:
if ($errno = curl_errno($ch)) {
$message = curl_strerror($errno);
echo "cURL error ({$errno}):\n {$message}";
}
Проверяет наличие ошибок, используя curl_errno(), которая возвращает код ошибки, если она произошла. Если ошибка есть, curl_strerror($errno) возвращает текстовое описание ошибки.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
Этот код показывает пример выполнения HTTP-запросов и обработки ошибок.
$ch = curl_init('https://example.com');
Функция curl_init() инициализирует новую сессию cURL и устанавливает URL, к которому будет выполняться запрос.
2. Настройка параметров cURL:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Устанавливает параметр CURLOPT_RETURNTRANSFER в true, чтобы результат выполнения curl_exec() был возвращен как строка и сохранен в переменной $res.
curl_setopt($ch, CURLOPT_HEADER, false);
Устанавливает параметр CURLOPT_HEADER в false, чтобы заголовки ответа не были включены в возвращаемый результат.
3. Выполнение запроса:
$res = curl_exec($ch);
Выполняет запрос к указанному URL и записывает результат в $res.
4. Вывод результата:
var_dump($res); // false
Выводит результат выполнения запроса. Если запрос завершился с ошибкой, curl_exec() вернет false.
5. Обработка ошибок cURL:
if ($errno = curl_errno($ch)) {
$message = curl_strerror($errno);
echo "cURL error ({$errno}):\n {$message}";
}
Проверяет наличие ошибок, используя curl_errno(), которая возвращает код ошибки, если она произошла. Если ошибка есть, curl_strerror($errno) возвращает текстовое описание ошибки.
6. Закрытие cURL-сессии:
curl_close($ch);
Закрывает cURL-сессию и освобождает все связанные с ней ресурсы.
Этот код показывает пример выполнения HTTP-запросов и обработки ошибок.
PHP — Свои функции
Склонение слов после числительных url
Шаблон
Склонение слов после числительных
Склонение слов после числительных в PHP. Функция num_word() предназначена для выбора правильной формы слова в зависимости от числового значения.
/**
* Склонение существительных после числительных.
*
* @param string $value Значение
* @param array $words Массив вариантов, например: array("товар", "товара", "товаров")
* @param bool $show Включает значение $value в результирующею строку
* @return string
*/
function num_word($value, $words, $show = true){
$num = $value % 100;
if ($num > 19) {
$num = $num % 10;
}
$out = ($show) ? $value . ' ' : '';
switch ($num) {
case 1: $out .= $words[0]; break;
case 2:
case 3:
case 4: $out .= $words[1]; break;
default: $out .= $words[2]; break;
}
return $out;
}
// Использование
echo num_word($service["UF_TIMEFRAME"], array("товар", "товара", "товаров"))
Определение моб. устр-ва url
Шаблон
Определение моб. устр-ва
Функция check_mobile_device() предназначена для определения, зашел ли пользователь на сайт с мобильного устройства.
// Определение мобильного устройства
function check_mobile_device(){
$mobile_agent_array = array("ipad", "iphone", "android", "pocket", "palm", "windows ce", "windowsce", "cellphone", "opera mobi", "ipod", "symbian", "opera mini", "nokia", "htc_", "samsung", "motorola", "smartphone", "blackberry", "playstation portable", "tablet browser");
$agent = strtolower($_SERVER["HTTP_USER_AGENT"]);
// var_dump($agent);exit;
foreach ($mobile_agent_array as $value) {
if (strpos($agent, $value) !== false) return true;
}
return false;
}
$is_mobile_device = check_mobile_device();
if($is_mobile_device){
echo "Вы зашли с мобильного устр-ва...";
};
Расстояние от точки до точки (Гео) url
Шаблон
Расстояние от точки до точки (Гео)
Функция distance() вычисляет расстояние по прямой между двумя точками на поверхности Земли, заданными их Широтой и Долготой.
// Гео — Расстояние от точки до точки по прямой
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return (number_format($miles * 1.609344, 1, '.', ' '));
}
if ($unit == "M") {
return (number_format($miles * 1609, 0, '.', ''));
}
}
echo distance($lat1,$lon1, $lat2,$lon2, "K");
PHP — Строка
Кол-во символов url
Шаблон
Кол-во символов
Функция strlen() в PHP возвращает число, показывающее, сколько символов содержится в строке. Результат включает в себя в том числе пробелы. Функция strlen() некорректно работает с кириллицей, поэтому лучше применять функцию mb_strlen().
/**
Получить длину строки
Функция strlen($string) возвращает длину строки,
но возвращает неправильный результат
если в строке есть кириллица в UTF-8,
поэтому нужно использовать mb_strlen(). */
$text = "Съешь ещё - этих мягких французских булок, да выпей же чаю.";
echo strlen($text); // 105
echo mb_strlen($text); // 59
Кол-во слов url
Шаблон
Кол-во слов
Выполняет обработку текста, удаляя знаки препинания и лишние пробелы, а затем подсчитывает количество слов в обработанном тексте.
$text = "Съешь ещё - этих мягких французских булок, да выпей же чаю.";
$str = preg_replace("/[[:punct:]]/", '', $text);
$str = mb_ereg_replace('[\s]+', ' ', $str);
$words = explode(" ", $str);
echo count($words); // 10
Кол-во вхождений подстроки url
Шаблон
Кол-во вхождений подстроки
Встроенная в PHP функция — mb_substr_count() подсчитывает, сколько раз подстрока встречается в заданной строке.
$text = "Съешь ещё - этих мягких французских булок, да ещё выпей же чаю.";
echo mb_substr_count($text, "ещё"); // 2
Извлечение из текста url
Шаблон
Извлечение из текста
Встроенные функции в PHP, предназначенные для извлечения из строки.
$text = "Съешь ещё - этих мягких французских булок, да выпей же чаю.";
// Получить первый символ
echo mb_substr($text, 0, 1); // С
// Получить три первых символа
echo mb_substr($text, 0, 3); // Съе
// Получить первое слово
echo mb_strstr($text, " ", true); // Съешь
// Получить последний символ
echo mb_substr($text, -1, 1); // .
// Получить три последних символа
echo mb_substr($text, -1, 3); // аю.
// Получить последнее слово
$array = explode(" ", $text);
echo end($array); // чаю.
// Получить второе слово
$array = explode(" ", $text);
echo $array[1]; // ещё
// Получить текст до дефиса
echo mb_substr($text, 0, mb_strpos($text, " - ")); // Съешь ещё
// Получить текст после дефиса
$str = mb_substr($text, mb_strpos($text, " - ") + mb_strlen(" - "), -1);
echo $str; // этих мягких французских булок, да выпей же чаю
PHP — Числа
Округление url
Шаблон
Округление
Встроенные функции в PHP предназначенные для округления чисел.
// Округляет значение до указанных цифр после запятой
echo round(100001.123456, 2); // 100001.12
// Округление до целого числа в меньшую сторону
echo floor(100.4); // 100
echo floor(100.9); // 100
// Округление до целого числа в большую сторону
echo ceil(100.4); // 101
echo ceil(100.1); // 101
Минимальное значение url
Шаблон
Минимальное значение
Встроенная в PHP функция min() — находит наименьшее значение.
echo min(6, 0, 1, 10); // 0
// Из массива
$array = array(6, 0, 1, 10);
echo min($array); // 0
Максимальное значение url
Шаблон
Максимальное значение
Встроенная в PHP функция max() — находит наибольшее значение.
echo max(6, 0, 1, 10); // 10
// Из массива
$array = array(6, 0, 1, 10);
echo max($array); // 10
number_format() url
Шаблон
number_format()
Функция number_format() в PHP используется для форматирования чисел с целью улучшения их читаемости. Она позволяет добавлять разделители тысяч, а также задавать количество десятичных знаков.
$num = "12000";
echo number_format($num, 0, "", " "); // 12 000
$num = "100";
echo number_format($num, 2, '.', ''); // 100.00
/**
number_format(
float $num,
int $decimals = 0,
?string $decimal_separator = ".",
?string $thousands_separator = ","
): string
num
Форматируемое число.
decimals
Задаёт количество десятичных разрядов. Значение параметра decimal_separator опускается в возвращаемом значении, если в параметр передали значение 0.
decimal_separator
Устанавливает разделитель дробной части.
thousands_separator
Устанавливает разделитель классов многозначного числа.
*/
PHP — Массивы
Кол-во элементов в массиве url
Шаблон
Кол-во элементов в массиве
Функция count() в PHP подсчитывает количество элементов в массиве.
// Простой массив
$array = array(
"Один",
"Два",
"Три",
);
echo count($array); // Вернет 3
// Многомерный массив
$array = array(
array(
"Один",
"Два",
"Три",
),
array(
"Четыре",
"Пять",
"Шесть",
)
);
echo count($array); // Вернет 2
echo count($array, COUNT_RECURSIVE); // Вернет 8
Добавление элементов в массив url
Шаблон
Добавление элементов в массив
Встроенные функции в PHP предназначенные добавления элементов в массив.
/**
array_unshift($array, $value) — добавляет один или несколько элементов в начало массива. */
$array = array(
"Один",
"Два",
"Три",
"Четыре",
);
array_unshift($array, "Пять");
print_r($array);
/**
array_push($array, $value) — добавляет значение в конец массива. */
$array = array(
"Один",
"Два",
"Три",
"Четыре",
);
array_push($array, "Пять");
// Или
$array[] = "Шесть";
print_r($array);
Получение элементов из массива url
Шаблон
Получение элементов из массива
Встроенные функции в PHP предназначенные для получения элементов массива.
$array = array(
"Один",
"Два",
"Три",
);
// Получить первый элемент массива
echo current($array); // Один
// Получить последний элемент массива
echo end($array); // Три
// Получить часть (срез) массива
// array_slice($array, $offset, $length) возвращает часть массива начиная с индекса $offset длиной $length.
$new = array_slice($array, 0, 2);
print_r($new);
Поиск и проверка элементов в массиве url
Шаблон
Поиск и проверка элементов в массиве
Встроенные функции в PHP предназначенные для проверки наличия заданного ключа или значения в массиве.
// Проверить, есть ли значение в массиве
$array = array(
"Яблоко",
"Апельсин",
"Виноград"
);
if(in_array("Апельсин", $array)){
echo "В массиве есть Апельсин";
}
// Проверить, есть ли ключ в массиве
$array = array(
1 => "Яблоко",
2 => "Апельсин",
3 => "Виноград"
);
if(array_key_exists(2, $array)) {
echo "В массиве есть ключ 2";
}
Удаление элементов массива url
Шаблон
Удаление элементов массива
Встроенная функция в PHP предназначенная для удаления элементов массива по ключу или значению.
/*
unset() – удаляет переменные и элементы массива по ключу.
В первом примере элемент удаляется по ключу, во втором по значению. */
$array = array(
"Яблоко",
"Апельсин",
"Виноград"
);
// Удаление по ключу
unset($array[1]);
// Удаление по значению
unset($array[array_search("Апельсин", $array)]);
Удаление пустых значений url
Шаблон
Удаление пустых значений
В PHP нет отдельной функции для удаления пустых значений в массиве, поэтому применяют array_diff() которая возвращает расхождения массивов.
$array = array(
"Яблоко",
"",
"Виноград"
);
$array = array_diff($array, array(""));
print_r($array);
Удалить повторяющиеся значения url
Шаблон
Удалить повторяющиеся значения
Функция array_unique() в PHP убирает повторяющиеся значения из массива, сохраняя первое появление каждого значения и переиндексируя массив с сохранёнными ключами.
$array = array(
"Яблоко",
"Апельсин",
"Апельсин",
"Виноград"
);
$array = array_unique($array);
print_r($array);
Объединение массивов url
Шаблон
Объединение массивов
Объединяет элементы одного или нескольких массивов вместе так, что значения одного из них добавляются в конец предыдущего. Возвращает результирующий массив.
$array_1 = array(
"Яблоко",
"Апельсин",
"Виноград"
);
$array_2 = array(
"Помидор",
"Огурец",
);
$new = array_merge($array_1, $array_2);
print_r($new);
Разделить массив на части url
Шаблон
Разделить массив на части
array_chunk($array, $size) — создает новый многомерный массив из исходного, деля его на равные части.
В данном примере указано $size = 3, поэтому получается четыре подмассива в каждом из которых по три элемента.
В данном примере указано $size = 3, поэтому получается четыре подмассива в каждом из которых по три элемента.
$array = array(
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь",
);
$array = array_chunk($array, 3);
print_r($array);