다음 튜토리얼 칼럼인 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 "失败"; } } }
이 클래스를 캡슐화한 후 컨트롤러에서 이미지 확인을 확인해야 합니다
내 사진 확인:
$result = $this->validate(['file' => $file], ['file' => 'require|image|fileExt:png,jpg,gif'], ['file.require' => '请选择上传文件','file.image'=>'必须是图片哦','file.fileExt'=>'文件格式不对']);
이 확인에 대해 잘 알지 못하기 때문에 사진에서 확인했습니다. 이해한 후에는 이러한 내용의 의미를 알 수 있습니다
더 많은 업로드 파일 확인 규칙도 있습니다. include 검증 규칙
파일은 여기에 업로드됩니다. :open()을 사용하면 이미지 형식이 됩니다. 이 둘은 형식이 다릅니다
이미지를 처리해야 하므로 먼저 이미지를 연 다음 처리하고 저장해야 합니다.
저장하려면 thinkphp에서 이미지를 저장하려면 이미지->저장(경로)을 사용하세요
하지만 처리할 필요가 없다면 파일->이동(경로)으로 직접 저장할 수 있습니다
위 내용은 thinkphp5에서 이미지 처리 시 발생하는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!