php+WebUploader 画像一括アップロード
1.webuploader
webuploader は主にファイルのアップロードに使用され、バッチ アップロードと画像プレビューをサポートしています。画像から Base64 データを生成し、それを タグ内で直接使用するため、実際に画像をアップロードする前にその効果を確認できるという効果が得られます。より詳しい導入方法については、webuploader の公式 Web サイトを参照してください。私は、公式 Web サイトのドキュメントを読むことが最も直接的な学習方法であると常々信じています。 webuploader 公式ウェブサイト ちなみに、webuploader は Baidu Fex Team チームによって保守されています。
2. Webuploader のアップロード原理
1. PHP HTML フォーム ファイルのアップロード
これについて説明する前に、PHP のファイル アップロード方法を理解する必要があります。
まず、html で
<form>
フォームを作成し、
<input type='file' name='xxx'>
アップロード送信ボタンをクリックすると、ファイルをサーバーにアップロードできます。
サーバー側では、受信したアップロードファイルをPHPで指定された一時フォルダーに保存します。PHPの組み込み関数
move_uploaded_file()
を使用します。このプロセスでは、ファイルの名前を変更したり、条件を満たしているかどうかを判断するためにファイルのサイズを変更したりすることができます。これでアップロードが完了します。
PHP フォームのアップロードの完全なケースについては、w3school によるこの記事を参照してください。そのため、ここでは詳細には説明しません。 PHP HTML フォームのアップロード ファイル
#2. Webuploader のアップロード原理PHP HTML フォームのアップロードを使用するとファイルのアップロード作業を完了できますが、欠点もあります。- ファイルをアップロードするときは、ページが更新されるようにページ全体を送信する必要があります。
- アップロード時に画像をプレビューする方法はありません。そのため、間違った画像がアップロードされるまで待たなければならない場合があります。実際に画像がアップロードされた後、ページを更新するまでわかりません。
- フロントエンド HTML ページで webuploader を構成します
- バックグラウンド サーバーの PHP ページで画像を受け入れますwebuploader でアップロードして処理します。
- バックグラウンドで画像を処理した後、返された json データがフロント デスクに送信されます。 json データを作成し、フィードバックを提供します。
- ここでお話しさせていただくと、バックグラウンドでの PHP による画像の受信と処理は、基本的に PHP HTML フォームのアップロードと同じです。 3. webuploaderの設定と使い方
webuploader 公式 Web サイト
、参考のために webuploader github ウェアハウスにいくつかのサンプル ケースがあります。example
私の実行環境: php5.6 nginx macOS私のフォルダーのディレクトリ
index.php- upload_img.php
- mywebupload.js
- webuploader/
- uploads/
- 1. フロントエンド HTML ページの設定 webupload主に次の手順を実行します:
- HTML タグの作成
- js ファイルを作成し、webuploader を初期化します。ページ コード。webuploader フォルダーは github から完全に移動され、jquery を使用してページ エクスペリエンスを強化しました。
- index.html
mywebupload.js
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>WebUploader演示</title> <link rel="stylesheet" type="text/css" href="webuploader/css/webuploader.css" /> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" /> <link rel="shortcut icon" href="favicon.ico"> </head> <body> <div id="imgPicker">选择文件</div> <button class="btn btn-primary btn-upload">上传</button> <div></div> <div></div> <!--jquery 1.12--> <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script> <!--bootstrap核心js文件--> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script> <!--webuploader js--> <!--<script type="text/javascript" src="static/jquery.js"></script>--> <script type="text/javascript" src="webuploader/dist/webuploader.min.js"></script> <script type="text/javascript" src="mywebupload.js"></script> </body> </html>
ログイン後にコピー
$(function(){ /* * 配置webuploader */ var imgUploader = WebUploader.create({ fileVal: 'img', // 相当于input标签的name属性,用于后台PHP识别接收上传文件的field swf: './webuploader/dist/Uploader.swf', // swf文件路径 server: './upload_img.php', // 文件接收服务端。 fileNumLimit: 10, // 上传文件的限制 pick: { id : '#imgPicker', // multiple : true // 是否支持多文件上传 }, // 只允许上传图片 accept: { title: 'Only Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif,image/bmp' }, auto: false, // 添加文件后是否自动上传上去,我设置了false,后面我会利用自己的上传按钮上传 resize: false // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传! }); /* * 设置上传按钮的单击事件 */ $('.btn-upload').click(function(){ imgUploader.upload(); // webuploader内置的upload函数,启动webuploader的上传 }); /* * 配置webuploader的事件监听 */ // 当图片文件被添加到上传队列中 imgUploader.on('fileQueued', function (file) { addImgThumb(file); }); // 生产图片预览 function addImgThumb(file){ imgUploader.makeThumb(file, function(error, ret){ if(!error){ img = '<img alt="" src="' + ret + '" />'; $('.img-thumb').append(img); }else{ console.log('making img error'); } },1,1); } imgUploader.on('uploadSuccess'), function(file, response){ // response 是后台upload_img.php返回的数据 if(response.success){ $('.result').append('<p>' + file.name + '上传成功</p>') }else{ $('.result').append('<p>' + response.message + '</p>') } }); })
#バックグラウンドで処理されるphpファイルのファイル名は、ウェブアップローダー設定時と同じである必要があります。
- アップロードしたフォルダーのアクセス許可を忘れずに設定してください。Linux では chmod を使用してフォルダーのアクセス許可を変更できます。変更しない場合、アップロードは失敗します。
- 私の対処方法は比較的簡単ですが、ご不明な点がございましたら、メッセージを残してください。
-
upload_img.php
<?php $field = 'img'; // 对应webupload里设置的fileVal $savePath = './uploads/'; // 这里注意设置uploads文件夹的权限 $saveName = time() . uniqid() . '_' . $_FILES[$field]['name']; // 为文件重命名 $fullName = $savePath . $saveName; if (file_exists($fullName)) { $result = [ 'success'=>false, 'message'=>'相同文件名的文件已经存在' ]; }else{ move_uploaded_file($_FILES[$field]["tmp_name"], $fullName); $result = ['success'=>true, 'fullName'=>$fullName]; } return json_encode($result); // 将结果打包成json格式返回 ?>
ログイン後にコピー以上がwebuploaderの全内容ですが、webuploaderのパラメータ設定やイベントについてはwebuploaderの公式サイトを参照してください。皆さんもぜひメッセージを残して、コメントや修正を交換していただければ幸いです。
PHP 関連の技術記事の詳細については、PHP チュートリアル 列にアクセスして学習してください。
以上がphp+WebUploader 画像一括アップロードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
