1

短いバージョン:を使用
するように移動するにはどうすればよいですか? 完全版: 現在、私はこのコードで立ち往生しています:C:\Abyss Web Server\htdocs\database\pfs\max\files\public\sdf.pngheader()


header("Location: ".ROOT_URL."\database\pfs\\".$_GET["u"]."\\files\public\\".$c);

(完全に文脈に沿っているわけではありませんが、この場合は必要ありません。原因を自分で追跡できたからです)。
$cコンテキストで宣言されたファイル名で$_GET["u"]あり、「所有者の」名前です。ROOT_URL は次のように定義されています: define("ROOT_URL", "file://\Abyss%20Web%20Server\htdocs");、これは単にサーバー ディレクトリへのパスです (私も で試しましdefine("ROOT_URL", "C:/\Abyss%20Web%20Server\htdocs");たが、そこにも運がありません)。とにかく、これで、ユーザーがアップロードされたファイルをダウンロードできるようにしたい$_GET["u"]. ただし、問題は、毎回 404 エラーが発生することです...そして、少し実験した結果、header() 関数がリダイレクトを適切に処理していないという結論に達しました。

なぜこれが正確に起こっているのかはわかりませんが、file://またはc:/. 私のサーバーは現在ローカルでホストされているため、代わりにこれらのメソッドを使用する必要があります (長い間)。私はしばらくこれで立ち往生しているので、答えは非常に高く評価されます...

4

1 に答える 1

3

ローカル ファイル システム リンクの場合は、file://プロトコル プレフィックスを先頭に追加する必要があります。

header('Location: file://C:\\path\\to\\file');

それを省略すると、クライアント (ブラウザ) は次のように解釈します。http://C:\\path\\to\\file

于 2013-10-24T21:35:19.137 に答える