この記事では、進行状況バーを使用してファイルを非同期にアップロードする PHP + AjaxForm のサンプル コードを紹介することに重点を置いています。ajaxForm メソッドを使用する前に、オンラインで見つけられる form.js プラグインをインストールする必要があります。興味のある方はぜひご覧ください。皆さんのお役に立てれば幸いです。
ajaxForm メソッドを使用する前に、まずオンラインで入手できる form.js プラグインをインストールする必要があります。まず、ajaxForm は 0 または 1 のパラメーターを受け取ることができます。変数、オブジェクト、またはコールバック関数。このオブジェクトには主に次のパラメータがあります:
var object= { url:url, //form提交数据的地址 type:type, //form提交的方式(method:post/get) target:target, //服务器返回的响应数据显示的元素(Id)号 beforeSerialize:function(){} //序列化提交数据之前的回调函数 beforeSubmit:function(){}, //提交前执行的回调函数 success:function(){}, //提交成功后执行的回调函数 error:function(){}, //提交失败执行的函数 dataType:null, //服务器返回数据类型 clearForm:true, //提交成功后是否清空表单中的字段值 restForm:true, //提交成功后是否重置表单中的字段值,即恢复到页面加载时的状态 timeout:6000 //设置请求时间,超过该时间后,自动退出请求,单位(毫秒)。 } ajaxForm js的code $(function(){ $("form").ajaxForm(object); })
インスタンス固有のコード code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="ROBOTS" content="NOODP"> <title>PHP+Ajax异步带进度条上传文件实例_php</title> <meta http-equiv="X-UA-Compatible" content="IE=EDGE" /> <meta name="keywords" content="php,ajax异步上传文件,ajax,异步加载,进度条,php,ajax上传进度条" /> <meta name="description" content="这篇文章主要介绍了PHP+Ajax异步带进度条上传文件实例代码。" /> <!--默认的进度条样式文件 添加一个带有 class .progress 的 <p>。 接着,在上面的 <p> 内,添加一个带有 class .progress-bar 的空的 <p>。 添加一个带有百分比表示的宽度的 style 属性,例如 style="60%"; 表示进度条在 60% 的位置 --> <link rel="stylesheet" href="public/css/bootstrap.min.css" rel="external nofollow" > <script src="public/js/jquery.min.js"></script> <script src="public/js/jquery.form.js"></script> <!--ajaxForm 提交form表单数据无刷新处理数据--> </head> <body> <p class="uk-container uk-container-center"> <p class="pk-system-messages"></p> <h1 id="文件上传">文件上传</h1> <p class="pk-system-messages"></p> <p class="container-main"> <h1 id="文件上传">文件上传</h1> <p>这里只是一个ajax+php+ajaxForm上传文件word文档例子</p> <form id='myupload' action='upload.php' method='post' enctype='multipart/form-data'> <label for="file">选择上传文件名:</label> <input type="file" name="mypic" id="file"><br> <input type="submit" name="upload" class="btn btn-success" value="upload"> <input type='text' name="list" value="555"/> </form> <p class="progress"> <p class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 0%;color:red;"> <span class="sr-only">10% Complete</span> </p> </p> <p class="files"></p> <p class="showimg"></p> </p> </p> </body> <script type="text/javascript"> $(function () { $("#myupload").ajaxForm({ dataType:'json', beforeSend:function(){ $(".progress").show(); }, uploadProgress:function(event,position,total,percentComplete){ var percentVal = percentComplete + '%'; $(".progress-bar").width(percentComplete + '%'); $(".progress-bar").html(percentVal); $(".sr-only").html(percentComplete + '%'); }, success:function(data){ $(".progress").hide(); if(data.error == "empty_name"){ alert("文件上传非法,上传失败!"); exit(); }; if(data.error == "large"){ alert("图片上传不能大于2M,上传失败!"); exit(); }; if(data.error == "format"){ alert("图片格式错误,上传失败"); exit(); }; //$(".files").html("<b>"+data.name+"("+data.size+"k)</b> <span class='delimg' rel='"+data.pic+"'>删除</span>"); $(".files").html("文件名: "+data.name+"<span class='delimg' rel='"+data.pic+"'> del </span>大小:"+data.size); var img = "files/"+data.pic; $(".showimg").html("<img src='"+img+"' alt="PHP と AjaxForm は進行状況バーを備えた非同期ファイルアップロードを実装します" >"); alert("上传成功!"); }, error:function(){ alert("上传失败"); } }); $(".progress").hide(); }); </script> </html>php アップロード アップロード クラス Upload.class.php ファイル
<?php date_default_timezone_set("PRC"); //设置时间区域 //上传类 class upload{ protected $file_path = "files"; //当前files存储文件夹 protected $file_size = 5120000; //5M 用户上传 /** *检测文件是否为空 */ public function check_file($get_file) { if (empty($get_file)) { $type = "check_file"; $arr = array('error'=>'empty_name','type'=>$type); echo json_encode($arr); exit(); } return true; } /** *检测文件类型 */ public function check_type($get_type) { if (( $get_type == ".docx" ) || ( $get_type == ".doc" )) { //这里只是判断上传word文档可以自己添加 }else{ $type = "check_type"; $arr = array('error'=>'format','type'=>$type); echo json_encode($arr); exit(); } return true; } /** *检测文件大小 */ public function check_size($get_file) { if ( $get_file != "" ) { if ( $get_file > $this->file_size ) { $arr = array('error'=>'large'); echo json_encode($arr); exit(); } }else{ return false; exit(); } return true; } /** *文件保存 */ public function save_file($file_type,$file_tmp_name) { $rand = rand(1000, 9999); $pics =date('YmdHis') . $rand . $file_type; $path = $this->file_path."/".$pics; $result = move_uploaded_file($file_tmp_name, $path); if($result){ return $pics; }else{ return false; exit(); } } } ?>ajax 送信 php 処理ファイルのアップロード。php
<?php include("upload.class.php"); $up_obj = new upload(); //获取上传文件名 $get_fileName = $_FILES['mypic']['name']; $get_fileSize = $_FILES['mypic']['size']; $get_TmpFiles = $_FILES['mypic']['tmp_name']; $get_fileType = strstr($get_fileName, '.'); $check_result = $up_obj->check_file($get_fileName); if($check_result){ $result_type = $up_obj->check_type($get_fileType);//检查文件类型 if($result_type){ $result_size = $up_obj->check_size($get_fileSize);//检查文件大小 if($result_size){ $pics = $up_obj->save_file($get_fileType,$get_TmpFiles); //文件上传保存 $size = round($get_fileSize/1024,2); $arr = array( 'name' => $get_fileName, 'pic' => $pics, 'size'=> $size, 'error' => 2, 'list' =>$_POST['list'] ); if($pics){ //检查文件上传状态 echo json_encode($arr); } } } } ?>関連推奨事項:
PHP AjaxForm 画像のアップロードと表示画像のソース コード_php の例
以上がPHP と AjaxForm は進行状況バーを備えた非同期ファイルアップロードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。
