thinkphp5에서 이미지 처리 시 발생하는 문제 해결
다음 튜토리얼 칼럼인 thinkphp에서는 thinkphp5의 이미지 처리에서 발생하는 문제를 소개할 예정입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
이미지 처리 시 발생하는 문제
저장된 이미지 경로를 반환하기 위해 이미지 처리 및 클래스 업로드를 추가로 캡슐화했습니다
이미지 반환 및 저장 경로는 절대 경로가 될 수 없습니다.
이렇게 하면 이미지를 열 수 없게 됩니다. 프로젝트 및 디렉터리에 대한 상대 경로여야 합니다.
<?php namespace app\common\vendor; use think\Image; use think\Request; class Picture { public function Up($file,$type)//获取图片,验证 { //处理图片 $request=new Request(); $saveName=$request->time().'.png'; $image=Image::open($file); switch($type){ case 'advertise': $deal=$image->thumb(20,40,6); $link='public'.DS.'static'.DS.'picture'.DS.$type.DS.$saveName.'.png'; break; case 'user': $deal=$image->thumb(40,40,6); $link='public'.DS.'static'.DS.'picture'.DS.$type.DS.$saveName.'.png'; break; } //上传图片 if($deal->save(ROOT_PATH.$link)){ //echo $deal->width()."<br/>".$deal->height(); return $link; }else{ echo "失败"; } } }
이 클래스를 캡슐화한 후 컨트롤러에서 이미지 확인을 확인해야 합니다
1 . 이미지 확인 중 발생한 문제
내 사진 확인:
$result = $this->validate(['file' => $file], ['file' => 'require|image|fileExt:png,jpg,gif'], ['file.require' => '请选择上传文件','file.image'=>'必须是图片哦','file.fileExt'=>'文件格式不对']);
이 확인에 대해 잘 알지 못하기 때문에 사진에서 확인했습니다. 이해한 후에는 이러한 내용의 의미를 알 수 있습니다
더 많은 업로드 파일 확인 규칙도 있습니다. include 검증 규칙
- file 파일 객체인지 확인
- image 이미지 파일 객체인지 확인
- image:width,height[,type] 이미지 파일의 유형과 너비, 높이를 확인합니다
- fileExt :zip,doc,… 파일 접미사 확인
- fileMime:image /png,… 파일 형식 확인
- fileSize:1024 파일 크기 확인
2. 이미지 파일 업로드 방법
파일은 여기에 업로드됩니다. :open()을 사용하면 이미지 형식이 됩니다. 이 둘은 형식이 다릅니다
이미지를 처리해야 하므로 먼저 이미지를 연 다음 처리하고 저장해야 합니다.
저장하려면 thinkphp에서 이미지를 저장하려면 이미지->저장(경로)을 사용하세요
하지만 처리할 필요가 없다면 파일->이동(경로)으로 직접 저장할 수 있습니다
위 내용은 thinkphp5에서 이미지 처리 시 발생하는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

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

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Pagoda에 thinkphp5를 배포할 때 보고된 오류에 대한 해결 방법: 1. Pagoda 서버를 열고 php pathinfo 확장을 설치하고 활성화합니다. 2. "RewriteRule ^(.*)$ index.php 콘텐츠로 ".access" 파일을 구성합니다. ?s=/$1 [QSA ,PT,L]”; 3. 웹사이트 관리에서 thinkphp의 pseudo-static을 활성화하면 됩니다.

thinkphp5 URL 재작성이 작동하지 않는 해결 방법: 1. mod_rewrite.so 모듈이 httpd.conf 구성 파일에 로드되었는지 확인합니다. 2. AllowOverride None에서 None을 All로 변경합니다. 3. Apache 구성 파일 .htaccess를 "RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]" 하고 저장하세요.

요청된 URL을 얻는 thinkphp5의 방법: 1. 현재 URL 정보를 얻기 위해 "\think\Request" 클래스의 "$request = Request::instance();" 방법을 사용합니다. 도메인 이름을 포함한 전체 URL 주소를 얻으려면 "$request-> url()" 함수를 사용하세요.

thinkphp5 게시물은 TP5가 strpos 함수를 사용하여 헤더의 콘텐츠 유형 값에서 app/json 문자열을 찾기 때문에 값을 얻을 수 없습니다. 해결 방법은 헤더의 콘텐츠 유형 값을 app/json으로 설정하는 것입니다.

thinkphp5 제목 표시줄 아이콘을 제거하는 방법: 1. thinkphp5 프레임워크 공개에서 favicon.ico 파일을 찾습니다. 2. 파일을 삭제하거나 다른 사진을 선택하여 이름을 favicon.ico로 바꾸고 원본 favicon.ico 파일을 대체합니다.

컨트롤러가 존재하지 않는다고 메시지를 표시하는 thinkphp5에 대한 해결 방법: 1. 해당 컨트롤러의 네임스페이스가 올바르게 작성되었는지 확인하고 올바른 네임스페이스로 변경합니다. 2. 해당 tp 파일을 열고 클래스 이름을 수정합니다.

ThinkPHP5에서 어제의 데이터를 쿼리하는 방법: 1. ThinkPHP5 관련 파일을 엽니다. 2. "db('table')->whereTime('c_time', 'yesterday')->select();" 표현식을 통해 어제의 데이터를 쿼리할 수 있습니다. .

thinkphp5에서 오류 프롬프트를 설정하는 방법: 1. 프로젝트 루트 디렉터리에 있는 public 폴더를 입력하고 index.php 항목 파일을 엽니다. 2. 디버그 모드 스위치에 대한 설명을 봅니다. 3. "APP_DEBUG" 상수 값을 조정합니다. 오류 메시지 프롬프트를 표시하려면 true로 설정합니다.
