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

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

藏色散人
Freigeben: 2021-05-19 09:04:52
nach vorne
3227 Leute haben es durchsucht

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 dem Login kopieren

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;]);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage