Похожие чаты

Помогите пожалуйста 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 ответов

39 просмотров

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

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

@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 раза нашли решение и все работало.

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

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

Random thoughts. Need mode opinions. def main(): conn = psycopg.connect(user="postgres", password="example", host="localhost", port=5432, dbname="postgres") with conn...
Artem
13
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Moneor is doing well - im happy to have bought some when it was lower. What do you guys think about Pirate Chain? Can it be an alternative to Monero? Im into privacy coins and...
Alex
16
Guys what is ur real (no jokes) expectation of link price during this cycle?
Hobbyist
28
hey everyone I'm not able to input come characters in my flatpak apps, they get ignored by the application. all other non-flatpak apps are fine with these characters. I search...
elo
20
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
>>> Failed to install app-alternatives/awk-4, Log file: >>> '/var/tmp/portage/app-alternatives/awk-4/temp/build.log' * Messages for package app-alternatives/awk-4: * Pa...
[cocoa] wizzy hell
1
Hey everyone! How's your weekend going so far?
Noah Noure
17
Карта сайта