[PHP-users 17710]Re: ファイルアップロード時の待機画面

T.Nonaka nonaka @ cf.muuz.net
2003年 9月 7日 (日) 03:30:59 JST


野中です。

こんばんは。

JavascriptでWait表示のポップアップを出して、Upload完了後に親Windowから閉
じてしまうというのはどうですか?
ポップアップには、アニメーションGIFであたかもUploadしているように見せる
とか・・・。


> 0%...............................................................100%

のように表示させる場合、Uploadするファイルの容量を事前に取得できないと、
不可能ですね。
 ただし、Uploadするファイルの容量が推測できるのであれば、その予測時間を
元にアニメーションGIFでインジケータを進めても良いと思います。Upload終了
時間の誤差はある程度は誤魔化せるでしょう ^^;

 予測できない場合は、「UPLOAD中です」という文字を点滅させると言う手もあ
ります。


この場合、UPLOAD失敗時の処理をどうするかという問題もあるのですね・・・。
(ポップアップに、親が死んだら自分も閉じるJavascript処理を入れることで対
処するかですね・・・。)



非現実的?な方法かもしれないのですが、こんなのは如何ですか?

1 mod_uploadとかいうApacheのモジュールを作り、ファイル容量とUPLOADの
  状況をファイルに書き出す。

2 上記で生成したファイルを読み込み、インジケータを表示するスクリプト
  をPHPで作成する。

3 アップロード処理の前にポップアップを表示し、一定間隔で2のPHPを
  実行する。

4 実行終了時には自動的にポップアップを閉じる

5 エラー時にはmod_updateがエラーを出力し、PHPはuploadのエラーを検出
  した時点でUploadの失敗をユーザに通知する。


すみません、深夜の時間帯につき、少し頭がおかしくなっているようです。


> こんばんは、キャスターマイルドです。
> 
> 少し抽象的な質問ですが、
> 良いアイディアが浮かばないので、お力添えを
> お願いいたします。
> 
> ブラウザからファイルを
> <input name="up" type="file">
> という具合にアップロードしてもらい、
> それを受信している間、画面に待機時間かなにかを
> 表示させたいと考えております。
> 
> それをしないと、ユーザーに「止まっている」と感じられて
> リロードされそうなので・・・
> 
> その待機時間を表示させるところで良いアイディアが
> 浮かびません。
> 
> ファイルを受け取るプログラム内で、
> 下記のようにflushか何かを使って、
> "."を徐々に表示させていきたいのですが、
> 0%.........................................................................1
> 00%
> 
> 自分自身、どうすればいいのか分かっていない状態ですので、
> うまく質問できなく、申し訳ないのですが、
> 同様のモノを過去に開発された事がある方
> お力添え頂きたくお願い申し上げます。
> _______________________________________________
> PHP-users mailing list
> PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users

-- 
 <nonaka @ black-cats.biz>



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