Maison > cadre php > PensezPHP > Résoudre les problèmes rencontrés dans le traitement d'image dans thinkphp5

Résoudre les problèmes rencontrés dans le traitement d'image dans thinkphp5

藏色散人
Libérer: 2021-05-19 09:04:52
avant
3215 Les gens l'ont consulté

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 !

Problèmes rencontrés dans le traitement des images

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().&#39;.png&#39;;
        $image=Image::open($file);
        switch($type){
            case &#39;advertise&#39;:
                $deal=$image->thumb(20,40,6);
                $link=&#39;public&#39;.DS.&#39;static&#39;.DS.&#39;picture&#39;.DS.$type.DS.$saveName.&#39;.png&#39;;
                break;
            case &#39;user&#39;:
                $deal=$image->thumb(40,40,6);
                $link=&#39;public&#39;.DS.&#39;static&#39;.DS.&#39;picture&#39;.DS.$type.DS.$saveName.&#39;.png&#39;;
                break;
        }
        //上传图片
        if($deal->save(ROOT_PATH.$link)){
            //echo $deal->width()."<br/>".$deal->height();
            return $link;
        }else{
            echo "失败";
        }
    }
}
Copier après la connexion

Après avoir encapsulé cette classe, la vérification de l'image doit être vérifiée dans le contrôleur

1. Problèmes rencontrés lors de la vérification de l'image

Ma vérification de l'image :

    $result = $this->validate([&#39;file&#39; => $file],
        [&#39;file&#39; => &#39;require|image|fileExt:png,jpg,gif&#39;],
        [&#39;file.require&#39; => &#39;请选择上传文件&#39;,&#39;file.image&#39;=>&#39;必须是图片哦&#39;,&#39;file.fileExt&#39;=>&#39;文件格式不对&#39;]);
Copier après la connexion

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

  • fichier pour vérifier s'il s'agit d'un objet Fichier
  • 🎜>
  • image pour vérifier s'il s'agit d'un objet fichier image
  • image:width,height[,type] Vérifiez le type, la largeur et la hauteur du fichier image
  • fileExt:zip ,doc,… Vérifiez le suffixe du fichier
  • fileMime:image /png,… Vérifiez le type de fichier
fileSize:1024 Vérifiez la taille du fichier

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal