Heim  >  Artikel  >  PHP-Framework  >  Lösen Sie die bei der Bildverarbeitung in thinkphp5 aufgetretenen Probleme

Lösen Sie die bei der Bildverarbeitung in thinkphp5 aufgetretenen Probleme

藏色散人
藏色散人nach vorne
2021-05-18 16:46:433113Durchsuche

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!

Bei der Bildverarbeitung aufgetretene Probleme

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().&#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 "失败";
        }
    }
}

Nach der Kapselung dieser Klasse muss die Überprüfung des Bildes im Controller überprüft werden

1 . Probleme bei der Bildüberprüfung

Meine Bildüberprüfung:

    $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;]);

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

    fileMime:image /png,… Überprüfen Sie den Dateityp
  • fileSize:1024 Überprüfen Sie die Dateigröße
  • 2. Hier wird die Datei hochgeladen . Verwenden Sie Image::open(), um das Bild zu öffnen und zum Bildformat zu machen.
  • Wir müssen das Bild zuerst öffnen und verarbeiten, bevor wir das Bild speichern
  • Um das Bild in thinkphp zu speichern, verwenden Sie „Bild->Speichern (Pfad)“, um es zu speichern.
  • Wenn Sie es jedoch nicht verarbeiten müssen, können Sie es direkt unter „Datei“ > „Verschieben (Pfad)“ speichern.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen