あなたがやりたいことをする方法はいくつかあると思います。すべてが要求どおりに機能するわけではありませんが、最終的な結果は同じになるはずです。
解決策 1
私の最初の可能な解決策は、@shanethehat によって既に投稿されています。file_get_contents
HTTP 経由で PHP スクリプトを呼び出し、応答を取得するために使用できます。
解決策 2
@YourCommonSense による投稿のコメントで、別の可能な解決策が提案されました。次のように、HTML ファイルを生成している PHP スクリプト内のスクリプトをinclude
単純化できます。getdoc
$_GET["name"] = "documentA";
echo "<a href=\"". include("getdoc.php") ."\"> Open Document A </a>";
解決策 3
getdoc
または、スクリプトの動作方法を変更することもできます。次のようなスクリプトを使用できます。
header("Content-type:application/pdf");
header("Content-Disposition:attachment; filename=\"{$_GET["name"]}\"");
readfile($_GET["name"]);
そして、次のようにリンクを維持します<a href="mylink.com/getdoc.php?name=documentA"> Open Document A </a>
。がgetdoc.php
呼び出されると、指定されたファイルが取得され、ファイルのダウンロードが開始されます。
注:この方法で何らかの入力サニタイズ (スラッシュを削除する、ファイルが .pdf で終わるようにするなど) を行って、許可されていないファイルを誰かが取得しようとしないようにする必要があります。
現時点で思いつくのはこれだけです。もっと巧妙な方法があるかもしれませんが、うまくいけば、これらの解決策の 1 つがあなたのためにそれを行うでしょう。最初に解決策 2 または 3 を試して、うまくいかない場合は解決策 1 を試してください。