0

.htaccess による通常のアクセスに対して保護されているフォルダーからファイルをダウンロードしたい。多くのチュートリアルを見つけましたが、どれもうまくいきません。

.htaccess

<files "passportScan.jpg">
  deny from all
</files>

php

$file_name = 'passportScan.jpg';
$file_url = self::SERVER_URL . 'uploads/prom_conf/'.$user['uid'].'/' . $file_name;    
header("Content-Description: File Transfer"); 
header('Content-Type: image/jpeg');
header("Content-disposition: attachment; filename=\"".$file_name."\"");
readfile($file_url);

URL /uploads/passportScan.jpg にアクセスすると、禁止されています。それは正しいです。しかし、phpメソッドを呼び出すと、ファイルが強制的にダウンロードされますが、「ファイルヘッダーを読み取れません!不明なファイル形式またはファイルが見つかりません!」というエラーが表示されます。

編集 htaccess を削除すると正常に動作します。

EDIT 2 リンクは電子メールから呼び出されます。

4

2 に答える 2

3

ファイルがphpスクリプトと同じサーバーにある場合は、内部パスを使用してください

于 2013-08-21T08:02:18.703 に答える
0

完全な http url を使用する代わりに、ファイルを作成できます。download.phpを使用してそのイメージをダウンロードしますdownload.php?file=ID

于 2013-08-21T08:05:56.937 に答える