この記事では、webuploader を使用して yii2 に画像アップロードを実装する実践的なプロジェクトを主に紹介します。興味のある学生はそれについて学ぶことができます。
画像のアップロードは、アプリケーションにとってほぼ必須です。先ほども kartik の fileinput について詳しく説明しましたが、多くの人がさまざまな問題を報告しました。このコンポーネントは、画像アップロード プロセス中に Yii2 によって引き起こされる一連の問題をより適切に処理できるようになり、現在、複数の画像、複数のフィールド、および複数のモーダルの混合アップロードをサポートしています。
導入の前に、効果を実証しましょう。
#インストール
$ php composer.phar require bailangzhan/yii2-webuploader dev-master
params.php または params-local.php を使用して、Webuploader とドメイン構成項目を追加します
// 图片服务器的域名设置,拼接保存在数据库中的相对地址,可通过web进行展示 'domain' => 'http://blog.m/', 'webuploader' => [ // 后端处理图片的地址,value 是相对的地址 'uploadUrl' => 'blog/upload', // 多文件分隔符 'delimiter' => ',', // 基本配置 'baseConfig' => [ 'defaultImage' => 'http://img1.imgtn.bdimg.com/it/u=2056478505,162569476&fm=26&gp=0.jpg', 'disableGlobalDnd' => true, 'accept' => [ 'title' => 'Images', 'extensions' => 'gif,jpg,jpeg,bmp,png', 'mimeTypes' => 'image/*', ], 'pick' => [ 'multiple' => false, ], ], ],webuploader['baseConfig'] webuploader の公式パラメータの説明を参照してください。
View file
Single image<?php echo $form->field($model, 'file')->widget('manks\FileInput', [ ]); ?>
複数の写真
<?php echo $form->field($model, 'file2')->widget('manks\FileInput', [ 'clientOptions' => [ 'pick' => [ 'multiple' => true, ], // 'server' => Url::to('upload/u2'), // 'accept' => [ // 'extensions' => 'png', // ], ], ]); ?>コントローラーのアドレスはパラメータに含めることができます.php または params-local .php で Yii::$app->params['webuploader']['uploadUrl'] を設定するか、clientOptions でサーバー項目を設定します。コントローラーが返す必要があるデータ形式は次のとおりです。
// 错误时 {"code": 1, "msg": "error"} // 正确时, 其中 attachment 指的是保存在数据库中的路径,url 是该图片在web可访问的地址 {"code": 0, "url": "http://domain/图片地址", "attachment": "图片地址"}clientOptions は、webuploader の公式パラメータの説明も参照します。
注意
変更された複数イメージ操作の場合は、必ず $model->file = 'src1,src2,src3,...'; を確認してください。 $model->file = ['src1 ', 'src2'. 'src3', ...];
上記がこの記事の全内容です。お役に立てば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
Yii によって実装されるマルチレベル リンケージ ドロップダウン メニューについて
以上がyii2 で webuploader を使用して画像をアップロードするコードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。