[PHP-users 12286] Re: ダウンロード成功画面について
papa
php-users@php.gr.jp
Sat, 21 Dec 2002 02:32:10 +0900
>
> ファイルのダウンロード後にダウンロード成功画面を表示したいのですが、
> どのような方法があるでしょうか。
>
> 現在は”ダウンロードしますか?”画面を表示して、OKボタン押下後に
> ダウンロード処理を行っています。
>
> しかし、ダウンロード終了後、
> ”ダウンロードしますか?”画面が表示されたままとなってしまい
> 何か不自然さを感じます。
>
> ダウンロード成功画面に飛びたいのですが、
> ダウンロードダイアログのボタンのイベントを取得することはできないし…
適当なフォルダに以下の3つのファイルを作ります
1)dltest.php
<?php
if(isset($sbm)){
if( filedownload( $sbm )){
print("<html><head><META HTTP-EQUIV='refresh' CONTENT='3; URL=seikou.htm'></head>");
print("<body>ダウンロードに成功しました<br></body></html>");
exit();
}else{
print("<html><head><META HTTP-EQUIV='refresh' CONTENT='3; URL=sippai.htm'></head>");
print("<body>ダウンロードに失敗しました<br></body></html>");
exit();
}
}
function filedownload($fn){
//ファイルのダウンロードに成功したらtrue
//
//
// 具体的な処理
//
//
//これは、サンプル
if($fn=='file1.fil'){
return true;
}else{
return false;
}
}
?>
<html>
<head>
<title>dltest</title>
</head>
<body>
<form action=dltest.php method=post>
ダウンロードファイルを選んでください<br>
1)<input type=submit name=sbm value='file1.fil'><br>
2)<input type=submit name=sbm value='file2.fil'><br>
</form>
</body>
</html>
2)seikou.htm
<html><body>よかったね</body></html>
3)sippai.htm
<html><body>あらざんねん</body></html>
dltest.phpは自分自身を読み出すので、sbmボタンを押した場合には上
にあるスクリプトを実行します。valueとしてファイル名を与えている
ので、それを引数としてfiledownloadを呼び出し、ダウンロード処理。
ダウンロードが成功すれば、trueが返るので、メッセージを表示(成功
画面)した後に次のステップ(ここではseikou.htm)に3秒後にジャン
プ。失敗した場合は、同様に失敗画面を表示して、次のステップ
sippai.htmにジャンプします。
少なくとも、表示の問題は解決するかと・・・
これじゃ、だめかな?
//////////////////////////////
ガーデンシティー狭山管理組合
http://g-city.jp/
syutou@g-city.jp
//////////////////////////////