Загрузка файла PDF с помощью GuzzleHttp Stream

У меня есть файл PDF, прочитанный из файловой системы, и прямо сейчас я могу отобразить его пользователю напрямую, используя эхо. Вот что я сделал:

$file = $client->open($storage_root);
    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="' . 'sample' . '.pdf"');
    header('Cache-Control: private, max-age=0, must-revalidate');
    header('Pragma: public');
    echo ($file->getContents());

Но у меня есть требование как-то сохранить этот файл во временном месте. Любые идеи о том, как я могу это сделать.

Помощь приветствуется!!


person Shrav    schedule 15.01.2017    source источник
comment
Пожалуйста, объясните, что вы имеете в виду, говоря о сохранении файла во временном месте.   -  person Nadir Latif    schedule 16.01.2017
comment
@NadirLatif нужно объединить этот pdf файл с другими объектами mpdf, которые я сохранил на диске. По этой причине я должен сохранить файл на диске, например, «/usr/local/temp/xxx.pdf».   -  person Shrav    schedule 16.01.2017
comment
вы можете использовать функцию копирования Php. он копирует файлы из источника в место назначения: php.net/manual/en/function.copy. php   -  person Nadir Latif    schedule 17.01.2017
comment
stackoverflow.com/questions/38702570 /   -  person TrophyGeek    schedule 27.02.2018


Ответы (1)


Я предполагаю, что у вас уже есть содержимое PDF-файла, сохраненного в $file? В этом случае вы можете использовать:

<?php

header("Content-Description: File Transfer"); 
header("Content-Type: application/octet-stream"); 
header("Content-Disposition: attachment; filename='" . basename($file) . "'"); 

readfile ($file);

?>

Надеюсь это поможет!

person Obsidian Age    schedule 16.01.2017