0

こんにちは、私のウェブサイトにはユーザーがダウンロードできる PDF ファイルがいくつかありますが、問題は、これらの PDF ファイルをダウンロードして PDF を開こうとするとエラーが表示されることです。修復されません」が、反対に、これは私のローカルシステムでは正常に機能します。私を案内してください、これが私のコードです

function download_pdf($parameters)
{

    $final_link = "$parameters";
    $path = strtolower($final_link);
    $file = "$path";

        if (file_exists($file)) {
            header('Content-Description: File Transfer');
            header('Content-Type: application/octet-stream');
            header('Content-Disposition: attachment;       filename='.basename($file));
            header('Content-Transfer-Encoding: binary');
            header('Expires: 0');
            header('Cache-Control: must-revalidate');
            header('Pragma: public');
            header('Content-Length: ' . filesize($file));
            ob_clean();
            flush();
            readfile($file);
            exit;
        }
        else
        {
            //echo "file do not exist";
            redirect('site/file_does_not_exist');
            //$data['main_content'] = 'not_found';
            //$this->load->view('includes/template',$data);
        }
}
4

1 に答える 1

0

代わりにこれを使用してみてください:

...
header('Content-Type: application/pdf');
...

ウィキペディアのインターネット メディア タイプから:

application/pdf: Portable Document Format

また、ファイル名に拡張子「.pdf」が付いていることも確認してください。

于 2012-10-05T19:51:40.607 に答える