La colonne tutorielle suivante de thinkphp vous présentera les problèmes rencontrés dans le traitement d'image dans thinkphp5. J'espère qu'elle sera utile aux amis dans le besoin !
J'encapsule en outre le traitement et le téléchargement des images dans la classe A est créé pour renvoyer le chemin de l'image enregistrée
Lorsque l'image est renvoyée et enregistrée, le chemin ne peut pas être un chemin absolu.
Cela empêchera l'ouverture de l'image. Il doit s'agir d'un chemin relatif par rapport au projet et au répertoire
<?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 "失败"; } } }
Après avoir encapsulé cette classe, la vérification de l'image doit être vérifiée dans le contrôleur
Ma vérification de l'image :
$result = $this->validate(['file' => $file], ['file' => 'require|image|fileExt:png,jpg,gif'], ['file.require' => '请选择上传文件','file.image'=>'必须是图片哦','file.fileExt'=>'文件格式不对']);
Je l'ai vérifié sur l'image car je ne connais pas cette vérification. Je ne le connais qu'après l'avoir compris. La signification de ces contenus
Plus de règles de vérification des fichiers téléchargés incluent également des règles de vérification
2. Téléchargement du fichier image
Les fichiers sont téléchargés ici, utilisez Image : :open() ouvre l'image et devient le format de l'image. Ces deux formats sont différents
Nous voulons traiter l'image, nous devons donc le faire. ouvrez d'abord l'image et traitez-la avant de l'enregistrer
dans thinkphp Pour enregistrer l'image, utilisez picture->save(path) pour enregistrer
, mais si vous n'en avez pas besoin. pour le traiter, vous pouvez directement enregistrer le fichier->move(path)Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!