PHP でアップロードの進行状況バーを実装するのが難しい理由は、サーバーにファイルをアップロードするときに、対応する PHP ファイルを実行する前に、すべてのファイルがサーバーに送信されるまで待機する必要があるためです。これまでは、ファイル データは一時ファイルに保存されており、PHP はこのファイルのパスとサイズを取得できませんでした。
Actionscript 2.0 以降、Flash はファイルのアップロードとダウンロードをサポートします。サーバー側でファイルのアップロードの進行状況を取得することはできませんが、サーバー側でファイルの送信の進行状況を取得することができます。この原則に基づいて、Flash を使用してアップロードの進行状況バー効果を作成できます。
インターネット上でいくつかの情報を見ましたが、欠陥があると感じます。そこで私は自分で調査を行い、以前のプログラムに基づいてプログラムのセキュリティと堅牢性を強化し、カスタマイズ可能なパラメータをいくつか追加しました。
注: コンピュータにファイアウォール ソフトウェアがインストールされている場合は、すぐに 100% に達する進行状況バーが表示されることがあります。これは、進行状況バーがファイアウォール ソフトウェアへのファイルのフラッシュ転送速度を示しているためです。ファイアウォールはデータもサーバーに渡します。
デモンストレーションについては、ここをクリックしてください
このプログラムは、インターネット上の関連情報に基づいて Longbill によって改良されています
http://www.longbill.cn
メール:longbill.cn @gmail .com
パラメータを呼び出す手順 (このフラッシュの名前が Upload.swf であると仮定します):
フラッシュ ファイルの呼び出しアドレスを次のように記述します:
upload.swf? maxsize=[単一ファイルの最大サイズ]&bgcolor=[プログレスバーの色]
&limit=[アップロードファイルの種類を制限]&savefile=[アップロードオブジェクトファイル]
[単一ファイルの最大サイズ]: [オプション] [数値] (単位は KB )
[プログレスバーの色]: [オプション] [6 桁の 16 進数] [デフォルトはランダムな色] (# なしの 16 ビットのカラー値)
[制限アップロード ファイル タイプ]: [はい選択] 形式:limit=zip|rar|doc など
[オブジェクト ファイルのアップロード]: [デフォルトは save.php] [文字列]
例:
upload.swf?maxsize=2048&bgcolor =FF00FF&limit=jpg|gif|png&savefile=upsave.php
パッケージ ファイルのダウンロード