Как выполнить php файл из php функции?

Здравствуйте
Есть файл https: //test.loc/sales/save.php
Когда запускаем его в браузере, то все работает нормально. Там происходят определенные манипуляции с БД (добавление данных)
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

$APPLICATION->IncludeComponent(
    "bitrix:get.sales",
    "save",
    Array( ),
    false
);

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

У меня есть функция, которая срабатывает при определенном условии. И мне надо что бы когда эта функция вызывалась, выполнялся https: //test.loc/sales/save.php
Я пробовал
function refreshDiscountSales ($primary, $fields) {
    include($_SERVER["DOCUMENT_ROOT"]."/sales/save.php");
}

После выполнения база пустая, т.е. ничего не добавлено. А так не должно быть. Может как то по другому это надо делать?
ЗЫ cms 1c bitrix
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
@MadridianFox
Web-программист, многостаночник
Вам по хорошему надо вынести код сохранения из компонента, так чтобы он не был завязан на http-запрос, а принимал данные как параметры. И этот код надо вызывать из компонента и из вашей функции.

Ну а по сути вопроса - надо не подключать файл, а делать http-запрос на эту страницу. В новых версиях Битрикса есть такая штука как HttpClient. На крайняк всегда можно для этой задачи использовать curl.
Ответ написан
Комментировать
@vardoLP
Ват ю сэй эбаут май мама?!
ну так сейчас у вас просто функция, ее же надо вызвать после каких-то действий

refreshDiscountSales();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы