이 글은 주로 webuploader를 사용하여 yii2에서 이미지 업로드를 구현하는 실제 프로젝트를 소개합니다. 관심 있는 학생들은 이에 대해 배울 수 있습니다.
이미지 업로드는 이전에도 kartik의 파일 입력을 위해 거의 필요했습니다. .자세한 설명이지만 많은 분들이 다양한 문제를 제보해주셔서 아래에 webuploader 사용을 위한 컴포넌트를 별도로 작성하였습니다. 이 구성 요소는 이미지 업로드 프로세스 중에 Yii2로 인해 발생하는 일련의 문제를 더 잘 처리할 수 있습니다. 현재 여러 이미지, 여러 필드 및 여러 모달의 혼합 업로드를 지원합니다.
소개하기 전에 효과를 먼저 보여드리겠습니다.
설치
설치에는 작곡가를 사용하는 것이 좋습니다
$ php composer.phar require bailangzhan/yii2-webuploader dev-master
params.php 또는 params-local.php를 사용하여 웹업로더 및 도메인 구성 항목을 추가하세요.
// 图片服务器的域名设置,拼接保存在数据库中的相对地址,可通过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의 공식 매개변수 설명을 참조하세요
파일 보기
단일 이미지
<?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의 params Yii::$app->params['webuploader']['uploadUrl'] 구성에서 찾을 수 있거나 clientOptions에서 서버 항목을 구성할 수 있습니다. 컨트롤러가 반환해야 하는 데이터 형식은 다음과 같습니다
// 错误时 {"code": 1, "msg": "error"} // 正确时, 其中 attachment 指的是保存在数据库中的路径,url 是该图片在web可访问的地址 {"code": 0, "url": "http://domain/图片地址", "attachment": "图片地址"}
clientOptions도 webuploader의 공식 매개변수 설명을 참조하세요
Note
수정된 다중 이미지 작업인 경우 반드시 $model->file = 'src1,src2,src3,...' 또는 $model->file = ['src1', 'src3', ...];
이상이 이 글의 전체 내용입니다. 모든 분들께 도움이 되었으면 좋겠습니다. 학습에 도움이 되셨으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 추천:
yii2는 검색으로 페이징 및 페이징 기능을 구현합니다
위 내용은 yii2에서 이미지를 업로드하기 위해 webuploader를 사용하는 코드 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!