1

私はダウンロード スクリプト atm に取り組んでいます。php ファイルは xampp htdocs ディレクトリにあり、ファイルを含むフォルダーは外付け HDD にあります。

外部ドライブのエイリアスを既に設定しています。

<Directory "h:/Filme">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory> 
Alias /filme "H:/Filme"

これはダウンロード スクリプトです。

<?php

$download_dir = "filme/";
$files = array(
                "1" => "300.avi",
                "2" => "asdf.txt",
                "3" => "doc.pdf",
                "4" => "bild3.jpg",
              );
$file = $download_dir.$files[$_GET['id']];

header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".$files[$_GET['id']]);

readfile($file);
?> 

ダウンロードは次の方法で開始されます。

<a href="download.php?id=2">asdf.txt</a><BR>

さて、問題は次のとおりです。ブラウザのアドレスバーにlocalhost/filme/asdf.txtと入力して、asdf.txt などのファイルにアクセスできます。ただし、ダウンロードスクリプトを使用してダウンロードできるファイルには次のように記載されています。

 <br />
<b>Warning</b>:  filesize(): stat failed for filme/asdf.txt in <b>C:\Program Files\xampp\htdocs\download.php</b> on line <b>26</b><br />
<br />
<b>Warning</b>:  readfile(filme/asdf.txt): failed to open stream: No such file or directory in <b>C:\Program Files\xampp\htdocs\download.php</b> on line <b>32</b><br />

正直なところ、これを修正する方法がわかりません Oo

回答などの TY <3

4

1 に答える 1

1

HTTP とファイル システムのパス構造には違いがあります。PHP は、HTTP アクセス用に定義されたエイリアスについて何も知りません。

ファイル システムが理解できる方法でファイルへのパスを定義する必要があります。これはおそらく使用することを意味します

$download_dir = "H:/Filme/";
于 2013-07-27T22:50:29.913 に答える