Битрикс: два способа отправить файл
В битриксе с некоторых пор есть встроенный функционал для работы HTTP запросами. Т.е. не обязательно напрямую дёргать curl или привлекать какой-нибудь Guzzle . Плюс это или минус - оставлю решать каждому самостоятельно. Тут покажу два варианта, как можно отправить файл встроенным битриксовым методом. Это нужно, например, при интеграции с каким-то API. Примеров не нашлось ни в официальной документации , ни в полезном разжёвывании . Вариант в теле запроса через send() Тут надо обратить внимание на заголовок: тип "multipart/form-data"; наличие вложения в виде файла "Content-Disposition". Сам файл отправляем в теле запроса через вызов содержимого файла $file->getContents(). $result = []; // Проверяем существование файла на сервере $file = new \Bitrix\Main\IO\File( \Bitrix\Main\Application::getDocumentRoot() . '/upload/file.zip' ); if ($file->isExists()) { $httpClient = new HttpClient( [ ...