Aktueller Standort: Startseite> Neueste Artikel> So extrahieren und reparieren Sie automatisch Photo -Drehwinkel mithilfe von PHP- und EXIF -Erweiterungen

So extrahieren und reparieren Sie automatisch Photo -Drehwinkel mithilfe von PHP- und EXIF -Erweiterungen

gitbox 2025-07-14

Erweiterung extrahieren und fixes Fotorotationswinkel mit PHP und EXIF

Wenn Sie mit Fotos von Ihrem Telefon oder Ihrer Digitalkamera zu tun haben, stoßen Sie häufig auf Probleme mit einer falschen Rotation der Fotos. Um sicherzustellen, dass die Fotos beim Hochladen auf die Website oder andere Vorgänge korrekt angezeigt werden, können wir PHP- und EXIF -Erweiterungen verwenden, um den Rotationswinkel der Fotos zu extrahieren und zu reparieren.

Installieren Sie die PHP EXIF -Erweiterung

Stellen Sie vor Beginn sicher, dass Ihr Server die PHP EXIF -Erweiterung installiert hat. Wenn es nicht installiert wurde, können Sie es über den folgenden Befehl installieren:

 <span class="fun">sudo apt-Get installieren Sie PHP-EXIF</span>

Vergessen Sie nach Abschluss der Installation nicht, die EXIF -Erweiterung in der Php.ini -Datei zu aktivieren, indem Sie Erweiterung = exif kontrollieren.

Lesen Sie den Fotorotationswinkel

Mit aktivierter Exif -Erweiterung können wir die EXIF -Metadaten des Fotos über PHP -Code lesen, der den Rotationswinkel enthält.

Verwenden Sie zunächst die Funktion exif_read_data (), um die EXIF -Daten des Fotos zu lesen:

 <span class="fun">$ exif = exif_read_data (&#39;path/to/photo.jpg&#39;);</span>

FOTO -ROTATION -Winkel extrahieren

Sobald die EXIF -Daten gelesen sind, können wir die Rotationsinformationen des Fotos erhalten, indem wir $ exif ['Orientierung'] zugreifen. Der Rotationswinkel in EXIF wird normalerweise durch Ganzzahlen dargestellt, und seine spezifische Bedeutung lautet wie folgt:

  • 1: Keine Rotation erforderlich
  • 3: 180 Grad im Uhrzeigersinn drehen
  • 6: 90 Grad im Uhrzeigersinn drehen
  • 8: 90 Grad gegen den Uhrzeigersinn drehen

Wir können den richtigen Drehwinkel basierend auf diesen Werten berechnen:

 function getPhotoRotation($exifOrientation) {
    switch ($exifOrientation) {
        case 3: $rotation = 180; break;
        case 6: $rotation = 90; break;
        case 8: $rotation = -90; break;
        default: $rotation = 0;
    }
    return $rotation;
}

Drehen Sie das Foto

Nach dem Extrahieren des Rotationswinkels können wir die GD -Bibliothek von PHP verwenden, um die tatsächliche Bildrotation durchzuführen.

Verwenden Sie zunächst die Funktion der ImagecreateFromjpeg (), um das Foto zu laden:

 <span class="fun">$ image = imagecreatefromjpeg (&#39;path/to/photo.jpg&#39;);</span>

Verwenden Sie dann die Funktion "ImageBerotate () für die Rotationsverarbeitung:

 <span class="fun">$ rotatatedImage = Imagerotate ($ image, $ rotation, 0);</span>

Verwenden Sie schließlich ImageJpeg () , um das gedrehte Foto in einer Datei zu speichern:

 <span class="fun">ImageJpeg ($ rotatedImage, &#39;Pfad/to/rotatatated-photo.jpg&#39;);</span>

Zusammenfassen

Durch die Verwendung von PHP- und EXIF -Erweiterungen können wir den Rotationswinkel des Fotos problemlos extrahieren und mit Hilfe der GD -Bibliothek Bildrotationsverarbeitung durchführen. Diese Methode stellt nicht nur sicher, dass die Fotos korrekt gedreht werden, sondern vermeidet auch das Problem der Anzeigefehler beim Hochladen von Fotos.