[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
//////////////////////////////