2017-08-18 11 views
0

パス= /var/lib/foo.txtApache経由でファイルをダウンロードできますか?

このファイルのダウンロードを開始するHTTP URLがあるようにApacheを設定することはできますか? .htaccessファイルなし。

そして、そのURLはどうなりますか? localhost/var/lib/foo.txt

+0

[ファイルダウンロードのためのApacheディレクティブ]の可能な複製(https://stackoverflow.com/questions/8056839/apache-directive-for-file-downloads) –

答えて

1

Apacheの設定でエイリアスディレクティブを追加するのと同じくらい簡単です。

Alias '/bar' '/path/to/foo' 

次に、リソースにはhttp://example.com/barなどの情報を公開してアクセスします。

0

.htaccessファイルを作成

<Files *.txt> 
    ForceType application/octet-stream 
    Header set Content-Disposition attachment 
</Files> 
1

はい...あなたはこのような.MP4など.TXT、.PDF、などさまざまなファイルタイプの異なるディレクティブを追加することができます...あなたの.htaccessファイルにこれを追加/ var/lib /(/var/lib/.htaccess)に次の内容を追加してください:

AddType application/octect-stream .txt 

それだけです。

EDIT:あなたはPHPコードを使用することができ、.htaccessファイルがなければ

。ここで

は一例です: 以下のPHPコードを貼り付け、ファイルを保存download.php それをpublic_htmlwwwフォルダ内のファイルを作成し、名前を付けます。今度はhttp://www.yoursite.com/download.phpにアクセスしてください。 ファイルは問題なくダウンロードする必要があります。

$fileName = 'my-foo-file.txt'; 
$filePath = '/var/lib/foo.txt'; 
if(!$filePath){ 
    die('File not found!'); 
} else { 
    header("Cache-Control: public"); 
    header("Content-Disposition: attachment; filename=$fileName"); 
    header("Content-Type: application/octect-stream"); 
    header("Content-Transfer-Encoding: binary"); 
    readfile($filePath); 
} 
+0

あなたのPHPソリューションでは、 if(!is_readable($ filePath)) 'の条件付き' if(!$ filePath) 'は、ファイルが存在し、読み込み可能かどうかを調べます。 – Progrock

関連する問題