Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
2 / 2 / 0
Регистрация: 05.02.2016
Сообщений: 66

Преобразовать base64 в PDF с CURL

20.02.2021, 12:44. Показов 3129. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть код CURL, который отправляет данные с формы на сервер post запросом, преобразуя их в json. Ответ приходит в виде base64, в нём находится pdf файл. Подскажите, как мне base64 преобразовать в pdf файл и вывести на экран. Заранее благодарен за ответы!

Код:
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$login=$_POST["login"];
$password=$_POST["password"];
$fields = array(
    'login' => $login,
    'password' => $password
    
);
$test = json_encode($fields);
if (!empty($_POST)) {
    $curl = curl_init(); //инициализация сеанса
    curl_setopt($curl, CURLOPT_URL, 'url_servera'); //урл сайта к которому обращаемся
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_HEADER, 1); //выводим заголовки
    curl_setopt($curl, CURLOPT_POST, 1); //передача данных методом POST
    //curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //теперь curl вернет нам ответ, а не выведет
    curl_setopt($curl, CURLOPT_POSTFIELDS, $test); //тут переменные которые будут переданы методом POST
    
    $test = json_encode($fields);
    $res = curl_exec($curl);
    //если ошибка то печатаем номер и сообщение
    if(!$res) {
        $error = curl_error($curl).'('.curl_errno($curl).')';
        echo $error;
        curl_close($curl);
        
        
    }
        
    
}
 
?>
Сейчас ответ выводится на экран:
Миниатюры
Преобразовать base64 в PDF с CURL  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2021, 12:44
Ответы с готовыми решениями:

Сохранение данных base64 в PDF
Имеем содержимое HTML или PDF-файла, закодированное с помощью Base64. Далее с этим &quot;содержимым&quot; выполняем следующее ...

HttpWebRequest/HttpWebResponse некорректно скачивают pdf-файл (base64)
есть функция, которая предназначена для скачивания удаленных файлов, формат которых заранее не определен, но как правило это txt, pdf и...

Преобразовать строку base64 в картинку
QByteArray image = QByteArray::fromBase64(base64).toHex(); Если сделать qDebug()&lt;&lt;image; Затем полученные символы вставить в двоичный...

4
Невнимательный
 Аватар для ft4l
2810 / 1146 / 353
Регистрация: 08.02.2013
Сообщений: 6,548
Записей в блоге: 2
20.02.2021, 13:46
Как-бы наверно раскомментировать строку с CURLOPT_RETURNTRANSFER
и что-то типа такого
PHP Скопировано
1
2
3
$res_arr = json_decode ($res, 1);
header('Content-Type: application/pdf');
echo base64_decode($res_arr['File']);
если нет никакого вавода, просто отдача файла.
... если хватит времени скачать и отдать

Не по теме:

Цитата Сообщение от Tillka Посмотреть сообщение
curl_setopt($ch,
$ch или $curl ?

0
2 / 2 / 0
Регистрация: 05.02.2016
Сообщений: 66
20.02.2021, 14:30  [ТС]
Спасибо, сейчас попробую вывести, там всё-таки $curl, забылся немного. А закомментировал ту строчку, потому что мне выходил белый экран.
0
Невнимательный
 Аватар для ft4l
2810 / 1146 / 353
Регистрация: 08.02.2013
Сообщений: 6,548
Записей в блоге: 2
20.02.2021, 14:37
Лучший ответ Сообщение было отмечено Tillka как решение

Решение

Цитата Сообщение от Tillka Посмотреть сообщение
curl_setopt($curl, CURLOPT_HEADER, 1);
CURLOPT_HEADER TRUE для включения заголовков в вывод.
Не обратил внимания ... это надо закомментировать
0
2 / 2 / 0
Регистрация: 05.02.2016
Сообщений: 66
20.02.2021, 14:40  [ТС]
Спасибо, x_lab, ваше решение помогло, у меня всё заработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2021, 14:40
Помогаю со студенческими работами здесь

Поле file из которого надо прочитать base64 код и его преобразовать в файл на сервере
Доброго времени суток! Есть интересная задача, но как для меня &quot;новичка&quot; слишком сложная. Суть в следующем 1)есть скрипт для...

Как преобразовать обычный CURL парсер в многопоточный
Есть парсер который использует библиотеки CURL и phpQuery. Он парсит данные с с сайта и сохраняет всё с .csv файл. Но проблема в том, что...

Преобразовать svg в pdf
На сайте имеется векторный график svg, при нажатии на кнопку берется код этого графика и передается в метод написанный на C# для...

Преобразовать .mcd в .pdf
Здравствуйте, помогите, пожалуйста, преобразовать .mcd в .pdf

Преобразовать файл .xmcd в .pdf
Здравствуйте, преобразуйте, пожалуйста .xmcd в .pdf. Буду очень признателен)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер