[PHP-users 34470] Re: フォーム認証によるバイナリファイルへのアクセス制限の方法

Hisamitsu Issei ds1i-hsmt @ asahi-net.or.jp
2009年 3月 26日 (木) 21:31:46 JST


安倍様

 久光です。

 直接アクセスできないところに置いておいてphp経由で出力 
させる・・・・そうですよね、なんか難しく考えてました。ありが 
とうございます。教えていただいたfpassthru()を中心に 
phpのリファレンスを読んでいたらreadfile()というもう少し 
便利そうな関数があってちょうどいいサンプルスクリプトがあった 
のでそっちを使うことにしました。

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='.basename($file));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . filesize($file));
  ob_clean();
  flush();
  readfile($file);
  exit;
}
?>

ありがとうございます。


On 2009/03/26, at 19:09, 安倍 雄一郎 wrote:

> 安倍と申します。
>
> PDFを直接アクセスさせずに、PHPから読み込んで返してみ 
> てはいかがでしょう?
>
> PDFをapacheからアクセスできない別の場所に設置して 
> PHPから読み込んで返せばうまくいくような気がします。


■■◇ (有)久光工房
■■■ e-mail: hisamitsu @ office.email.ne.jp
■■■ 〒237-0068 神奈川県横須賀市追浜本町2-33
■■■ tel&fax: 046-869-3680
□■■ ================
□□■ Cosmetic-Info.jp
□□□ 国内最大級の化粧品原料検索サイト
◆□□ http://www.cosmetic-info.jp/



PHP-users メーリングリストの案内