ホームページ >バックエンド開発 >PHPチュートリアル >PHP ファイルアップロードプログレスバー実装プログラム_PHP チュートリアル
PHP でアップロードの進行状況バーを実装する方法は数多くあります。たとえば、現在では ajax を使用するか、iframe を使用してファイルのアップロードの進行状況バーの効果を実現します。
現在、私が知っている方法は 2 つあります。1 つは、PHP の創設者である Rasmus Lerdorf によって作成された APC 拡張モジュールを使用する方法です (http://pecl.php.net/package/apc)。 PECL 拡張モジュール Uploadprogress を使用して実装します (http://pecl.php.net/package/uploadprogress)。より柔軟なアプリケーションの場合は、独自のニーズに応じて変更できる 2 つの個別の実装例を示します。
APC実装方法:
APCをインストールします。インストールについては公式ドキュメントを参照してください。PECLモジュールのインストール方法を使用すると、ここでは説明されていませんが、迅速かつ簡単に行うことができます
php.iniを設定し、パラメータapc.rfc1867=1を設定します、APC がアップロード プログレス バー関数をサポートするように、APC ソース コードのドキュメントに指示があります
コード例:
コードは次のとおりです | コードをコピーします |
if ($_SERVER['REQUEST_METHOD '] == 'POST') { //アップロードリクエスト $ status = apc_fetch('upload_' . $_POST['APC_UPLOAD_PROGRESS']); $status['done'] = 1; echo json_encode($status) ; //クライアントページのajax呼び出しへの出力、関連ドキュメント 自分で見つけてください exit; } elseif (isset($_GET['progress_key'])) { //アップロードの進行状況を読み取ります $status = apc_fetch(' Upload_'.$_GET['progress_key']); echo json_encode ($status); exit; } else { //アップロードフォームなどのその他のコード } |
uploadprogress モジュール実装メソッド:
PECL モジュールのインストール方法を使用して、モジュールをインストールします
php.ini で、uploadprogress を設定します。file.filename_template = "/tmp/upd_%s.txt"
コード例:
コードは次のとおりです | コードをコピーします | |
if($_SERVER['REQUEST_METHOD']=='POST') {
あとは、すべてを接続するだけです。これは、progress.php ページから行うことができます。
|