Mit der schnellen Entwicklung des Internets ist es zu einem gemeinsamen Bedürfnis geworden, Bilder im Internet zu erhalten und zu speichern. Um Speicherplatz zu sparen und die Ladegeschwindigkeit der Website zu verbessern, ist es besonders wichtig, die Größe gespeicherter Bilder zu begrenzen. In diesem Artikel wird vorgestellt, wie PHP verwendet wird, um Größeneinschränkungen beim Speichern von Remote -Bildern zu erreichen.
Die GD -Bibliothek von PHP ist ein leistungsstarkes Bildverarbeitungswerkzeug, das die Änderung der Bildgröße und Komprimierungsvorgänge unterstützt. Zunächst müssen wir die Breite und Höheninformationen des Fernbildbildes über die integrierte PHP-integrierte Funktion getImageSize erhalten. Der Beispielcode lautet wie folgt:
$ remoteimageurl = 'http://example.com/remote-image.jpg'; $ imageInfo = getImageSize ($ remoteimageurl); if (! $ imageInfo) { Echo 'versäumte es, Remote -Bilder zu bekommen! '; zurückkehren; } $ remoteimageWidth = $ imageInfo [0]; $ remoteimageHeight = $ imageInfo [1];
Durch den obigen Code können Sie die Breite und Höhe des Fernbildes erfolgreich erhalten.
Stellen Sie als Nächstes eine maximale Breite und eine maximale Höhe ein, um die Bildgröße entsprechend den tatsächlichen Bedürfnissen zu begrenzen. Wenn die Remote -Bildgröße den Maximalwert festlegt, skalieren Sie ihn auf Skalierung und speichern Sie ihn direkt. Der Beispielcode lautet wie folgt:
$ maxwidth = 800; $ maxHeight = 600; if ($ remoteImagewidth> $ maxwidth || $ remoteImageHeight> $ maxheight) { // Berechnen Sie die Skalierungsskala $ scale = min ($ maxwidth / $ remoteImagewidth, $ maxheight / $ remoteiMageHeight); // Berechnen Sie die skalierte Größe $ newwidth = $ remoteiMageWidth * $ scale; $ newHeight = $ remoteiMageHeight * $ scale; // Erstellen Sie ein neues leeres Bild $ newImage = imageCreatetRueColor ($ newwidth, $ newHeight); // Das Remote -Bild in das neue Bild- und Maßstab imageCopyresampled ($ newImage, ImagecreateFromjpeg ($ remoteiMageurl), 0, 0, 0, 0, $ newwidth, $ newHeight, $ remoteimagewidth, $ remoteimerheight); // Neues Bild vor dem lokalen Server imagejpeg speichern ($ newImage, 'path/to/save/new-image.jpg'); // Free Memory ImagedStroy ($ NewImage); } anders { // Es ist keine Skalierung erforderlich, speichern Sie die Remote-Image-Kopie ($ remoteImageurl, 'Pfad/to/save/remote-image.jpg'); }
Mit der obigen Methode können Sie problemlos PHP verwenden, um Remote -Bilder zu sparen und ihre Größe effektiv einzuschränken. Diese Methode stellt sicher, dass die gespeicherten Bilder von angemessener Größe sind, was nicht nur den Serverspeicher spart, sondern auch die Ladeeffizienz der Website verbessert. Der Gesamtprozess umfasst: das Erhalten der Remote -Bildgröße, das Festlegen der maximalen Größe, das Bestimmen, ob die Skalierung erforderlich ist und schließlich speichern.