Похожие чаты

Помогите пожалуйста file_get_contents($url) не качает фото - файл который прикреплен

в сделке

"UF_CRM_1693238467": {
"id": 4332,
"showUrl": "/bitrix/components/bitrix/crm.deal.show/show_file.php?ownerId=1410&fieldName=UF_CRM_1693238467&dynamic=Y&fileId=4332",
"downloadUrl": "/bitrix/components/bitrix/crm.deal.show/show_file.php?auth=&ownerId=1410&fieldName=UF_CRM_1693238467&dynamic=Y&fileId=4332"
}

что делаю не так🥵 уже часа 2 мучаюсь

какая авторизация нужна?

46 ответов

29 просмотров

Он и не скачает в таком виде нужна прямая ссылка на файл

Денис-Ковалевский Автор вопроса

@mcp74 прошу подсказку

Денис Ковалевский
4332?

В БД посмотрите если с таким id этот файл, то тогда да, потом можно получить о нём из бд информацию и ссылку нормальную

Денис-Ковалевский Автор вопроса
Максим Ревнивцев
В БД посмотрите если с таким id этот файл, то тогд...

как качать подскажи пожалуйста🤪 fileId=4332", "downloadUrl": "/bitrix/components/bitrix/crm.deal.show/show_file.php?auth=&ownerId=1410&fieldName=UF_CRM_1693238467&dynamic=Y&fileId=4332"

Весь бизнес процесс сюда расписать нужно, как без контекста понять что именно нужно, каким образом планировалось, зачем и тд

Денис-Ковалевский Автор вопроса
Максим Ревнивцев
Весь бизнес процесс сюда расписать нужно, как без ...

1. На определенной стадии сделки вэбхуком скидываю из конструктора на скрипт: сообщение и id сделки. 2. В скрипте = смотрю по id сделки ссылку для скачивания =downloadUrl качаю файл (фото) из поля сделки, тип файл 3. Сохраняю в локальной папке upload 4. скидываю в телеграм бот 5. удаляю вайл из папки upload

Денис Ковалевский
1. На определенной стадии сделки вэбхуком скидываю...

Скрипт находится там же где и ядро битрикса или на другом сервере?

Максим Ревнивцев
Скрипт находится там же где и ядро битрикса или на...

Хотя без разницы Вот для БП php код $fileInfo = CFile::MakeFileArray({{Договор об обучении}}); $postData = array( 'type' => 'EMPTY_CONTRACT', 'content' => 'data:'.$fileInfo['type'].';base64,'.base64_encode(file_get_contents($fileInfo['tmp_name'])), ); $ch = curl_init('https://test/api/v1/documents/applications/{{ID заявления абитуриента}}'); curl_setopt_array($ch, array( CURLOPT_POST => TRUE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), CURLOPT_POSTFIELDS => json_encode($postData), CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, )); $html = curl_exec($ch); curl_close($ch);

Денис Ковалевский
1. На определенной стадии сделки вэбхуком скидываю...

4. скидываю в телеграм бот А тг бот не умеет сразу файл отправлять?

Nik Nik
4. скидываю в телеграм бот А тг бот не умеет сраз...

Ну кстати да, если не надо хранить отдельно отправленные файлы, в телегу можно и сразу кидать

Nik Nik
4. скидываю в телеграм бот А тг бот не умеет сраз...

https://stackoverflow.com/questions/66244747/telegram-bot-senddocument-php-on-hosted-server

Денис-Ковалевский Автор вопроса
Денис-Ковалевский Автор вопроса
Nik Nik
4. скидываю в телеграм бот А тг бот не умеет сраз...

'path/to/document.pdf', ======== может быть внешней ссылкой?🥴 use Telegram\Bot\Api; $telegram = new Api('BOT TOKEN'); $response = $telegram->sendDocument([ 'chat_id' => 'CHAT_ID', 'document' => 'path/to/document.pdf', 'caption' => 'This is a document', ]); $messageId = $response->getMessageId();

Денис Ковалевский
'path/to/document.pdf', ======== может быть внешне...

может быть внешней ссылкой? Надо смотреть чёто там в библиотеке Bot\Api

Денис-Ковалевский Автор вопроса

$fileInfo = CFile::MakeFileArray({{Фото объема}}); $postData = array( 'type' => 'EMPTY_CONTRACT', 'content' => 'data:'.$fileInfo['type'].';base64,'.base64_encode(file_get_contents($fileInfo['tmp_name'])), ); $ch = curl_init('http://domen/crest/eqtelegram/post.php'); curl_setopt_array($ch, array( CURLOPT_POST => TRUE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), CURLOPT_POSTFIELDS => json_encode($postData), CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, )); $html = curl_exec($ch); curl_close($ch); не предается, Максим, подскажи пожалуйста, что не так🥵

Денис Ковалевский
$fileInfo = CFile::MakeFileArray({{Фото объема}});...

Залогируйте данные что приходит на post.php что бы понять что там не так передаётся

Денис-Ковалевский Автор вопроса
Максим Ревнивцев
Залогируйте данные что приходит на post.php что бы...

]$logData = date('Y-m-d H:i:s') . "\n" . json_encode($_POST) . "\n\n"; $logFile = fopen('log.txt', 'a'); fwrite($logFile, $logData); fclose($logFile); сразу так и сделал - ничего не пришло - пуст log.txt

Денис-Ковалевский Автор вопроса
Денис Ковалевский
screenshot не множественное

Запустите код подставив id файла вместо {{Фото объема}} в php консоли /bitrix/admin/php_command_line.php?lang=ru

Да

Денис-Ковалевский Автор вопроса
Максим Ревнивцев
Да

$fileInfo = CFile::MakeFileArray(4389); так?

Денис-Ковалевский Автор вопроса
Денис-Ковалевский Автор вопроса
Максим Ревнивцев
Да

странно я массив с ответом в стрку переделал $logData = date('Y-m-d H:i:s') . "\n" . json_encode($_POST) . "\n\n"; $logFile = fopen('log.txt', 'a'); fwrite($logFile, $logData); fclose($logFile); а в лог залетел массив

Денис Ковалевский
странно я массив с ответом в стрку переделал $logD...

file_put_contents($_SERVER["DOCUMENT_ROOT"] . "/bitrix/php_interface/tech.log",date('Y-m-d H:i:s') . "\n" . print_r($_POST,true) . "\n||\n", FILE_APPEND);

Да, пути замените

Денис-Ковалевский Автор вопроса

не работает

Денис Ковалевский
не работает

Пример брал с другого сайта CURLOPT_POSTFIELDS => http_build_query($postData),

В php консоли

Денис-Ковалевский Автор вопроса
Максим Ревнивцев
В php консоли

$fileInfo = CFile::MakeFileArray(4389); $postData = array( 'type' => 'EMPTY_CONTRACT', 'content' => 'data:'.$fileInfo['type'].';base64,'.base64_encode(file_get_contents($fileInfo['tmp_name'])), ); $ch = curl_init(‘http://домен/crest/eqtelegram/post.php'); curl_setopt_array($ch, array( CURLOPT_POST => TRUE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), CURLOPT_POSTFIELDS => http_build_query($postData), CURLOPT_SSL_VERIFYHOST => 0, CURLOPT_SSL_VERIFYPEER => 0, )); $html = curl_exec($ch); curl_close($ch); Обработчик <?php file_put_contents($_SERVER["DOCUMENT_ROOT"] . "log.txt",date('Y-m-d H:i:s') . "\n" . print_r($_POST,true) . "\n||\n", FILE_APPEND); 🥵не работает

Денис Ковалевский
$fileInfo = CFile::MakeFileArray(4389); $postData ...

curl_setopt_array($ch, array( CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_POSTFIELDS => http_build_query($postData), ));

Денис-Ковалевский Автор вопроса
Максим Ревнивцев
curl_setopt_array($ch, array( CURLOPT_SSL_...

$fileInfo = CFile::MakeFileArray(4389); $postData = array( 'type' => 'EMPTY_CONTRACT', 'content' => 'data:'.$fileInfo['type'].';base64,'.base64_encode(file_get_contents($fileInfo['tmp_name'])), ); $ch = curl_init('http://домен/crest/eqtelegram/post.php'); curl_setopt_array($ch, array( CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_POST => 1, CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_POSTFIELDS => http_build_query($postData), )); $html = curl_exec($ch); curl_close($ch);

Денис Ковалевский
@mcp74 прошу подсказку

Слушай, я тебя по прежнему жду на светлой стороны, где ты обещался быть еще 2 месяца назад.

Денис Ковалевский
$fileInfo = CFile::MakeFileArray(4389); $postData ...

<?php file_put_contents($_SERVER["DOCUMENT_ROOT"] . "/log.txt",date('Y-m-d H:i:s') . "\n" . print_r($_POST,true) . "\n||\n", FILE_APPEND);

Решает может очень сложную задачу

Максим Ревнивцев
Решает может очень сложную задачу

возможно. я, лично, верю, что он набирается опыта для перехода на светлую сторону.

Alexander Ostrovsky
возможно. я, лично, верю, что он набирается опыта ...

Ну смотря по +/- одинаковым проблемам, которые возникают с файлами, там не так просто опыт набирается)

Максим Ревнивцев
Ну смотря по +/- одинаковым проблемам, которые воз...

ну, если поиском воспользоваться. тему 8 раз обсуждали, 3 раза нашли решение и все работало.

Похожие вопросы

Обсуждают сегодня

А кто-то пробовал, уезжая из Эстонии получить э-рез и продолжить вести предпринимательскую деятельность внутри Эстонии, используя свой OÜ?
Lalalashechki Lalala
57
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
I arrived here after a Chico Crypto show highlighted the project & the Team - the fact that the Team had a long history of successfully working with household names gave me e...
Banter is Bullish
5
Dear super pioneers 🥳🥳: I want to purchase a hosting plan for a website where video games, metaverse, AI avatars, videos, and heavy virtual twins can be uploaded, which I wan...
Guapi
10
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Карта сайта