0

私のスクリプトは次のとおりです。

<?php
header("Content-type:application/pdf");

// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='test.pdf'");

// The PDF source is in original.pdf
readfile("www.example.com/test.pdf");
?>

readfile を次のように変更すると、次のようになります。

// The PDF source is in original.pdf
readfile("test.pdf");

正常に動作しますが、絶対 URL を指定すると、 readfile("www.example.com/test.pdf");

PDFが開きません。上記はローカルでのみ機能するようです。

絶対 URL が機能しない理由を知っている人はいますか? 乾杯

解決:

// The PDF source is in original.pdf 

readfile($_SERVER['DOCUMENT_ROOT']."/test.pdf"); 

この関数は、URL ではなく絶対パスでのみ機能します。

4

3 に答える 3

2
  • プロトコルがありません:http://
  • そして設定をチェックallow_url_fopen
  • エラー報告をオンにする

.

ini_set('display_errors', true);
error_reporting(E_ALL);

よりスマートなアプローチは、リモート ファイル ローカルを保存/キャッシュすることです。そのため、毎回ダウンロードする必要はありません。また、ターゲット サイトの負荷が軽減されます。

于 2012-07-18T12:38:59.363 に答える
0

fopenラッパーが有効になっている場合は、この関数で URL をファイル名として使用できます。

于 2012-07-18T12:37:27.733 に答える
0

これを試してみてください..

<?php
header("Content-type:application/pdf");

// It will be called downloaded.pdf
header("Content-Disposition:attachment;filename='test.pdf'");

// The PDF source is in original.pdf
readfile("http://www.example.com/test.pdf");
?>

「http://」がないとダウンロードできません。

于 2012-07-18T12:39:49.867 に答える