Die folgende Tutorial-Kolumne von thinkphp stellt Ihnen die Probleme vor, die bei der Bildverarbeitung in thinkphp5 auftreten. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!
Ich habe die Bildverarbeitung und das Hochladen zusätzlich in eine Klasse gekapselt, um den gespeicherten Bildpfad zurückzugeben.
Der Bildrückgabe- und Speicherpfad kann kein absoluter Pfad sein.
Dies führt dazu, dass das Bild nicht geöffnet werden kann. Es sollte ein relativer Pfad relativ zum Projekt und Verzeichnis sein
<?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 "失败"; } } }
Nach der Kapselung dieser Klasse muss die Überprüfung des Bildes im Controller überprüft werden
Meine Bildüberprüfung:
$result = $this->validate(['file' => $file], ['file' => 'require|image|fileExt:png,jpg,gif'], ['file.require' => '请选择上传文件','file.image'=>'必须是图片哦','file.fileExt'=>'文件格式不对']);
Ich habe das Bild überprüft, weil ich mit dieser Überprüfung nicht sehr vertraut bin. Nachdem ich sie verstanden habe, kenne ich die Bedeutung dieser Inhalte. Weitere Regeln zur Überprüfung von Upload-Dateien Überprüfungsregeln einschließen
Datei Überprüfen Sie, ob es sich um ein Dateiobjekt handelt :zip,doc,… Überprüfen Sie das Dateisuffix
Das obige ist der detaillierte Inhalt vonLösen Sie die bei der Bildverarbeitung in thinkphp5 aufgetretenen Probleme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!