1

PDFファイルを強制的にダウンロードするコードがあります。以下のコード

$file_name = 'Bv_Ebook.pdf';
$file_url = 'http://' .$_SERVER['HTTP_HOST'].'/sites/default/files/'. $file_name;
header('Content-Type: text/html');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"".$file_name."\""); 
readfile($file_url);

このコードはベータサーバーで動作し、PDFがダウンロードされて開くことができます。

私たちのライブサーバーでは、同じコードでpdfがダウンロードされますが、pdfファイルを開くことはできません。

ドキュメントを開くことができません ファイルタイププレーンテキストドキュメント(テキスト/プレーン)はサポートされていません

PDFapacheヘッダーの設定を強制的にダウンロードしましたが、何も機能しないようです。

何が問題になるのか考えてみてください。

4

1 に答える 1

2

is_readable()を使用してファイルのアクセス許可を確認し、ファイルにアクセスできるかどうかを確認します。アクセス可能な場合は、以下を確認してください。

ヘッダーを次のように変更してみてください。

//We'll be outputting a PDF.
header('Content-type: application/pdf');

//PDF name.
header('Content-Disposition: attachment; filename="'.$file_name.'"');

次に、ファイルの読み取りなどを実行します。私の場合は、file_get_contents(file_path)+ echoを使用してコンテンツを表示し、チャームとして機能しました。

于 2012-08-03T06:04:36.633 に答える