下面由thinkphp教程欄目給大家介紹thinkphp5中圖片處理中遇到的問題,希望對(duì)需要的朋友有所幫助!
圖片處理中遇到的問題
我額外把圖片的處理和上傳封裝成了一個(gè)類,返回保存的圖片路徑
在圖片返回和保存路徑時(shí)不能是絕對(duì)路徑。
這樣會(huì)導(dǎo)致圖片打不開,應(yīng)該是相對(duì)于這個(gè)項(xiàng)目跟目錄的相對(duì)路徑
<?php namespace appcommonvendor; use thinkImage; use thinkRequest; class Picture { public function Up($file,$type)//獲取圖片,驗(yàn)證 { //處理圖片 $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 "失敗"; } } }
封裝這個(gè)類之后圖片的驗(yàn)證就需要再控制器中驗(yàn)證
1、圖片驗(yàn)證時(shí)遇到的問題
我的圖片驗(yàn)證:
$result = $this->validate(['file' => $file], ['file' => 'require|image|fileExt:png,jpg,gif'], ['file.require' => '請(qǐng)選擇上傳文件','file.image'=>'必須是圖片哦','file.fileExt'=>'文件格式不對(duì)']);
我再圖片中驗(yàn)證就是對(duì)這個(gè)驗(yàn)證的不太熟悉,經(jīng)過了解才知道這些內(nèi)容的含義