Während des Entwicklungsprozesses müssen wir häufig die von den Benutzern auf den Server hochgeladenen Bilder speichern. Wenn die Bilder über ein Mobiltelefon oder ein anderes Foto-Aufbau-Gerät hochgeladen werden, kann es ein Problem der Richtungsabweichung geben. Die meisten Geräte zeichnen die Rotationsrichtung in den EXIF -Metadaten des Bildes auf, sodass wir diese Informationen auch zusammen verarbeiten müssen, um das Bild zu speichern.
Zunächst müssen Sie das Bild lokal durch die Remote -Bild -URL herunterladen und speichern. Sie können PHPs File_Get_Contents () und File_put_Contents () verwenden, um es zu implementieren:
$url = 'FernbildURL';
$image = file_get_contents($url);
// Dateiname und Pfad speichern
$filename = 'Speicherner Dateiname.jpg';
$save_path = 'Gespeicherter Pfad';
file_put_contents($save_path . $filename, $image);
Die Richtungsinformationen des Bildes werden normalerweise in EXIF -Metadaten gespeichert, insbesondere in JPEG -Formatbildern. Wir können PHPs exif_read_data () -Funktion verwenden, um diese Informationen zu lesen:
// passieren Exif Sich ausdehnen, um eine Rotationsrichtung zu erhalten
$exif = exif_read_data($save_path . $filename);
if (!empty($exif['Orientation'])) {
// Prozess gemäß Rotationsrichtung
switch ($exif['Orientation']) {
case 3:
// Drehen180Grad
$image = imagerotate($image, 180, 0);
break;
case 6:
// 顺时针Drehen90Grad
$image = imagerotate($image, -90, 0);
break;
case 8:
// 逆时针Drehen90Grad
$image = imagerotate($image, 90, 0);
break;
}
}
// 保存Drehen后的图片
file_put_contents($save_path . $filename, $image);
Der obige Code verwendet das Orientierungsfeld in EXIF, um festzustellen, ob das Bild basierend auf seinem Wert gedreht werden muss. Verwenden Sie bei Bedarf die Funktion im ImagePerotate () zur Verarbeitung. Aber bitte beachten Sie Folgendes:
Mit den oben genannten Methoden können Entwickler automatisch die Richtungsprobleme des Bildes identifizieren und beheben, während sie Remote -Bilder speichern und die Genauigkeit und Benutzererfahrung der Bildanzeige verbessern. Dies ist besonders wichtig für Szenarien wie das Erstellen von Bildverarbeitungssystemen und die hochladenden Schnittstelle für mobile Image.