PHP ファイルアップロードプログレスバーの 2 つの実装方法のコード_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:53:57
オリジナル
750 人が閲覧しました

現在私が知っている方法は 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 呼び出しへの出力。関連ドキュメントをご自身で参照してください。 Find
exit
} elseif (isset($_GET['progress_key'])) { //アップロードの進行状況を読み取ります
$status = apc_fetch( 'upload_'.$_GET['progress_key']);
echo json_encode($ status)
} else {
//アップロードフォームなどのコード


uploadprogress モジュールの実装メソッド:

PECLモジュールのインストール方法を使用してモジュールをインストールします
php.iniにuploadprogress.fileを設定します。 filename_template = "/tmp/upd_%s.txt"
コード例:


コードをコピーします コードは次のとおりです。次のように:
if($_SERVER['REQUEST_METHOD']=='POST') {
if (is_uploaded_file ($_FILES['upfile']['tmp_name'])) {
使用する 使用する 使用する 使用する 使用する ‐ ‐ $sessid = $_POST['U​​PLOAD_IDENTIFIER']
$sessid = $upload_dir ;
if (move_uploaded_file($ _FILES['upfile']['tmp_name' ],$tmpfile)) {
(!empty($_GET['sessid'])) {
header ("有効期限: 1997 年 7 月 26 日月曜日 05:00:00 GMT" );
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store、no-cache、must-revalidate) ");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma : no-cache");
header("Content-Type:text/html ;charset=UTF-8");

$unique_id = $_GET['sessid'];
$uploadvalues = Uploadprogress_get_info($unique_id)

se {
//アップロードフォームを表示
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/318577.html技術記事現在、私が知っている方法は 2 つあります。1 つは、PHP の創設者である Rasmus Lerdorf によって作成された APC 拡張モジュールを使用する方法 (http://pecl.php.net/package/apc) です。 PECL 拡張子を使用します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート