test.php
<?php
$test=$_GET['key'];
if($test==='aiueo'){
/* srcディレクトリにあるtest.zipをダウンロード開始 */
}else{
/* 何もしない */
}
?>
で、keyをphp側で受け取って'aiueo'と一致すれば
test.zipのダウンロード開始をしたいです。
このダウンロード開始というのは、
ブラウザで右クリック保存を押したときに、
保存画面が表示されるときのような感じです。
(または単に、.zipのようなファイルにアクセスがあったとき
ブラウザ側で勝手に拡張子を判断してダイアログをだしてくれるような)
keyが一致すれば、test.zipまでのファイルのパスを
aタグで指定したのを表示して〜(<a href="http〜〜〜/src/test.zip" title="test">ダウンロード</a>)
みたいに二段階だと簡単にできるのですが、一段階だと思うようにできません。

自分なりに考えたのが、RewriteRuleでtest.zipにアクセスがあったときtest.phpへつなぐようにして、
php側でkeyが一致したとき
echo file_get_contents('./src/test.zip');
を実行、
ダウンロード自体はhttp〜〜/src/test.zip?key=aiueoでアクセス、という感じです。
これなら一応できるにはできたのですが、そのままファイルの内容を表示してしまうので
実質urlの上で右クリックダウンロードしかできないし、そもそも間違った方法のような気がします。
ようは、普通ならhttp〜/src/test.zipへアクセスすれば単純にダウンロードできるところをkey一致の段階を付け足したいというところです。
ファイルのタイプはzip以外にもで、keyのaiueoも一定時間で変化するようにできたら、と考えています。
何か良い方法があればアドバイスお願いします。
PHP5.2.6 Apache2