thinkphp5.0 이미지 업로드 플러그인은 잘린 이미지를 미리 보고 원본 이미지를 저장할 수 있습니다. 이미지를 자른 후에는 공간을 줄이기 위해 잘린 원본 이미지 디렉토리가 삭제됩니다. 구체적인 구현 코드는 이 문서를 참조하세요. 도움이 되기를 바랍니다.
효과 미리보기:
이 플러그인의 주요 기능은 잘린 이미지를 미리 보고 원본 이미지를 저장하는 것입니다. 이미지를 자른 후 잘린 원본 이미지 디렉터리가 삭제되어 공간이 줄어듭니다.
1. 첨부 파일을 다운로드하세요
주소: 링크: https://pan.baidu.com/s/1nuQ4NgP 비밀번호: 4pbu
2. 첨부 파일에 있는 CropAvatar.php를 자신의 프로그램 디렉터리인 확장/org 디렉터리에 넣으세요. , EXIF_imagetype 오류가 발생하면 php.ini에서 Extension=php_exif.dll을 열어야 합니다.
3. common.php 공개 함수
응용 프로그램 디렉터리에서 common.php 파일을 찾아 공통 함수를 추가합니다.
/** * 转换字节 * @param $bytes 传入字节数值 * @param int $decimals * @return string BKMGTP */ function human_filesize($bytes, $decimals = 2) { $sz = 'BKMGTP'; $factor = floor((strlen($bytes) - 1) / 3); return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor]; } /** * 删除该目录以及该目录下面的所有文件和文件夹 * @param $dir 目录 * @return bool */ function removeDir($dirName) { //判断传入参数是否目录,如不是执行删除文件 if (!is_dir($dirName)) { //删除文件 @unlink($dirName); } //如果传入是目录,使用@opendir将该目录打开,将返回的句柄赋值给$handle $handle = @opendir($dirName); //这里明确地测试返回值是否全等于(值和类型都相同)FALSE //否则任何目录项的名称求值为 FALSE 的都会导致循环停止(例如一个目录名为“0”) while (($file = @readdir($handle)) !== false) { //在文件结构中,都会包含形如“.”和“..”的向上结构 //但是它们不是文件或者文件夹 if ($file != '.' && $file != '..') { //当前文件$dir为文件目录+文件 $dir = $dirName . '/' .$file; //判断$dir是否为目录,如果是目录则递归调用reMoveDir($dirName)函数 //将其中的文件和目录都删除;如果不是目录,则删除该文件 is_dir($dir) ? removeDir($dir) : @unlink($dir); } } closedir($handle); return rmdir($dirName); }
4. 구성 파일을 수정하세요
응용 프로그램 디렉터리에서 config.php 구성 파일을 찾아
//上传配置 根目录前需添加 一个 . 'syc_images' => [ //缩图保存位置 'thumb' => './uploads/thumbs', //附件图片保存位置 'image' => './uploads/images', //裁剪的原始图片保存位置 'original' => './uploads/original', //上传限制 2*1024*1024 'size' => 2097152, ],
5를 추가하세요. file-thumd-modal.html 파일을 템플릿으로 보기 폴더에 넣으세요.
6. 컨트롤러, 첨부 파일에 있는 Thumbs.php 파일은 샘플 컨트롤러입니다. 컨트롤러를 프로그램 디렉터리로 가져와 네임스페이스, 메서드 이름 등을 수정할 수 있습니다. 컨트롤러에서: index() 이 메서드는 파일을 업로드할 때 호출됩니다. 파일을 선택하는 페이지를 표시하려면 test()와 같은 작업 메서드를 직접 작성해야 합니다.
public function test() { return $this->fetch(); } public function index() { ..... }
7. 뷰 레이어에서는 테스트 메소드와 관련된 템플릿 파일을 뷰 폴더에 정의해야 합니다. 페이지의
태그에 Class="page-header-fixed"를 추가해야 합니다. JS에서 사용되는 도착. 사진 선택 이 태그는 모달 상자를 여는 데 사용됩니다. 클래스는 아바타 보기, {include file="public/file-thumd; -modal"}은 file-thumd-modal.html 파일을 소개하는 데 사용됩니다. 템플릿 파일의 쓰기 주소를 찾아야 합니다.nbsp;html> //id="art-thumb" 返回的图片地址 //id="preview" 返回的 img 小图 //该页面需引入bootstrap的js,css和jquery等文件 <script></script> <script></script> <link> <img src="/static/imghwm/default1.png" data-src="./public/uploads/thumbs/20170925/20170925135203666.png" class="lazy" alt="이미지 업로드 플러그인 예제 공유의 ThinkPHP5.0 구현" > <p> <label>浓缩图片</label> </p><p><input></p> <p> {// 调用 avatar-view} <a> 选择图片</a> </p> <p></p><p></p> {// file-thumd-modal.html 可以引用到其他页面要用到的地方} {// 引入上传图片modal} {include file="public/file-thumd-modal"} <script> $(function () { var $imgp = $('.avatar-wrapper'); $imgp.find('img').cropper({aspectRatio:NaN}); //设置自由裁剪, NaN 为自由裁剪,此为覆盖默认 1:1比例裁剪框 }) </script>
이 단계를 완료한 후 플러그인을 사용할 수 있습니다. 이미지 저장 위치, 이미지 반환 경로 등과 같은 기타 사항은 해당 파일에서 수정할 수 있습니다.
관련 권장사항:
Angular2는 WeChat을 모방하여 9개의 이미지 업로드 및 미리보기 예시 공유를 구현합니다.
ajax는 비동기식 파일 또는 이미지 업로드 기능 예시 공유를 구현합니다.
PHP는 iframe을 사용하여 이미지 업로드 및 표시를 구현합니다
위 내용은 이미지 업로드 플러그인 예제 공유의 ThinkPHP5.0 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

의존성 (di) inphpenhancescodeflexibility 및 testability는 decouplingdependencycreation fromusage.toimplementDieffectically : 1) addicontainersjudicuelyToavoidover-Engineering.2) indhe. 3) adhe

toimproveyourphpwebsite의 성능, UsetheseStrospations : 1) ubstractOpCodeCachingWithOpCaceToSpeedUpscriptScriptIngretation.2) 최적화 된 AabaseQueriesBysElectingOnlynecessaryFields.3) UsecachingsystemsLikeredSormcedUcedUcedUcedALOW

예, itispossibletosendmassemailswithphp.1) uselibraries -lifephpmailerorswiftmailerforfficialemailsending.2) emubledelaysbetemailstoavoidspamflags.3) personalizeemailsingdynamiccontenttoimproveengement.4) usequeuesystemslikerbitmbitmquredisb

의존성 (di) inphpisadesignpatternthatachievesinversionofcontrol (ioc) by ancelociestobeinjectedintoclasses, 향상 모듈 성, 테스트 가능성 및 flexibility.didecouplesssclassessfromspecificimplementations, codemoremanageableandadapt

PHP를 사용하여 이메일을 보내는 가장 좋은 방법은 다음과 같습니다. 1. 기본 전송에 Php 's Mail () 함수를 사용합니다. 2. phpmailer 라이브러리를 사용하여 더 복잡한 HTML 메일을 보내십시오. 3. Sendgrid와 같은 트랜잭션 메일 서비스를 사용하여 신뢰성 및 분석 기능을 향상시킵니다. 이러한 방법을 사용하면 이메일이받은 편지함에 도달 할뿐만 아니라 수신자를 유치 할 수 있습니다.

PHP 다차원 어레이에서 총 요소 수를 계산하는 것은 재귀 적 또는 반복적 인 방법을 사용하여 수행 할 수 있습니다. 1. 재귀 방법은 배열을 가로 지르고 중첩 배열을 재귀 적으로 처리함으로써 계산됩니다. 2. 반복 방법은 스택을 사용하여 깊이 문제를 피하기 위해 재귀를 시뮬레이션합니다. 3. Array_Walk_Recursive 함수도 구현할 수 있지만 수동 계산이 필요합니다.

PHP에서, do-while 루프의 특성은 루프 본체가 적어도 한 번 실행되도록하고 조건에 따라 루프를 계속할지 여부를 결정하는 것입니다. 1) 조건부 점검 전에 루프 본체를 실행하며, 사용자 입력 확인 및 메뉴 시스템과 같이 작업을 적어도 한 번 수행 해야하는 시나리오에 적합합니다. 2) 그러나, do-while 루프의 구문은 초보자들 사이에서 혼란을 야기 할 수 있으며 불필요한 성능 오버 헤드를 추가 할 수 있습니다.

PHP의 효율적인 해싱 스트링은 다음 방법을 사용할 수 있습니다. 1. 빠른 해싱에 MD5 기능을 사용하지만 비밀번호 저장에는 적합하지 않습니다. 2. SHA256 기능을 사용하여 보안을 향상시킵니다. 3. Password_hash 함수를 사용하여 비밀번호를 처리하여 최고 보안과 편의성을 제공하십시오.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.