将PDF下载到浏览器

时间:2018-07-03 15:19:13

标签: php

我有一个PHP Web应用程序。我建立了一个从API端点下载PDF的功能,如下所示:

public function importPdf($id)
{
    $resource = fopen('tmp/'.$id.'.pdf', 'w');

    $this->client->request('GET', $this->url . '/api/users/' . $id . '/pdf', [
        'headers' => [
            'Authorization' => "Bearer {$this->accessToken()}",
        ],
        'sink' => $resource,
    ]);
}

这正在调用一个Guzzle实例,该实例运行良好并将PDF文件保存到我的服务器。但是我需要将PDF文件下载到用户浏览器。如果有人能解释如何做到这一点,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

您要寻找的是这种东西吗?我使用它来允许用户从其浏览器下载某些文件。

public function functionNameHere($filename){
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    ob_clean();
    flush();
    readfile($filename); 
}