So komprimieren Sie die Bilddateigröße mit PHP stapelweise

WBOY
Freigeben: 2023-08-25 14:28:02
Original
1741 Leute haben es durchsucht

So komprimieren Sie die Bilddateigröße mit PHP stapelweise

So verwenden Sie PHP, um Bilddateigrößen stapelweise zu komprimieren

Einführung:
Mit der Entwicklung des Internets werden Bilder immer häufiger in unserem täglichen Leben verwendet. Allerdings bringen große und kleine Bilddateien auch Probleme bei der Speicherung und Übertragung mit sich. Um die Größe von Bilddateien zu reduzieren und die Ladegeschwindigkeit der Website zu verbessern, können wir PHP verwenden, um die Größe von Bilddateien stapelweise zu komprimieren. In diesem Artikel wird erläutert, wie Sie mit PHP die Größe von Bilddateien stapelweise komprimieren, und es werden relevante Codebeispiele bereitgestellt.

Schritte:

  1. Liste der Bilddateien abrufen:
    Zuerst müssen wir die Liste der zu komprimierenden Bilddateien abrufen. Dies kann durch Durchsuchen der Bilddateien im Ordner oder durch Lesen des in der Datenbank gespeicherten Bildpfads erreicht werden. Das Folgende ist ein Beispielcode-Snippet zum Abrufen aller Bilddateien in einem Ordner:
$directory = 'images/';
$fileList = glob($directory . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
Nach dem Login kopieren
  1. Definieren Sie die Zielgröße und Komprimierungsqualität des komprimierten Bildes:
    Bevor wir die Bildkomprimierung durchführen, müssen wir die Größe und Komprimierung des Ziels definieren Bildqualität. Normalerweise können wir die Bildgröße auf die Hälfte der Originalgröße reduzieren und die Komprimierungsqualität auf 80-90 einstellen. Hier ist ein Beispielcode-Snippet zum Definieren der Zielgröße und Komprimierungsqualität:
$targetWidth = 200; // 目标宽度
$targetQuality = 80; // 目标质量
Nach dem Login kopieren
  1. Bildkomprimierung durchführen:
    Als nächstes können wir die GD-Bibliothek von PHP für die Bildkomprimierung verwenden. Die GD-Bibliothek bietet eine Fülle von Bildverarbeitungsfunktionen, die uns bei der Verarbeitung von Bildern helfen können. Hier ist ein Beispielcode-Snippet zum Komprimieren eines einzelnen Bildes:
foreach($fileList as $file) {
    $imageInfo = getimagesize($file);
    
    $sourceWidth = $imageInfo[0]; // 原始宽度
    $sourceHeight = $imageInfo[1]; // 原始高度
    
    $sourceImage = imagecreatefromjpeg($file); // 根据文件类型选择对应的函数
    
    $targetHeight = round($sourceHeight * $targetWidth / $sourceWidth); // 计算目标高度
    
    $targetImage = imagecreatetruecolor($targetWidth, $targetHeight); // 创建目标图像
    
    imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight); // 图像复制和缩放
    
    imagejpeg($targetImage, $file, $targetQuality); // 保存压缩后的图片
    
    imagedestroy($sourceImage); // 释放资源
    imagedestroy($targetImage);
}
Nach dem Login kopieren
  1. Vollständige Codereferenz:
    Hier ist ein vollständiges Codebeispiel zum Komprimieren von Bilddateigrößen in Stapeln:
$directory = 'images/';
$fileList = glob($directory . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);

$targetWidth = 200; // 目标宽度
$targetQuality = 80; // 目标质量

foreach($fileList as $file) {
    $imageInfo = getimagesize($file);
    
    $sourceWidth = $imageInfo[0]; // 原始宽度
    $sourceHeight = $imageInfo[1]; // 原始高度
    
    $sourceImage = imagecreatefromjpeg($file); // 根据文件类型选择对应的函数
    
    $targetHeight = round($sourceHeight * $targetWidth / $sourceWidth); // 计算目标高度
    
    $targetImage = imagecreatetruecolor($targetWidth, $targetHeight); // 创建目标图像
    
    imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight); // 图像复制和缩放
    
    imagejpeg($targetImage, $file, $targetQuality); // 保存压缩后的图片
    
    imagedestroy($sourceImage); // 释放资源
    imagedestroy($targetImage);
}
Nach dem Login kopieren

Zusammenfassung:
Mit PHP Durch Komprimieren der Bilddatei Mithilfe der Stapelverarbeitung können wir die Größe von Bilddateien effektiv reduzieren und die Ladegeschwindigkeit der Website verbessern. Dieser Artikel stellt eine einfache Methode und ein entsprechendes Codebeispiel bereit, muss jedoch entsprechend der tatsächlichen Situation angepasst und erweitert werden. Ich hoffe, dieser Artikel hilft Ihnen, Bilddateien besser zu verarbeiten und zu optimieren.

Das obige ist der detaillierte Inhalt vonSo komprimieren Sie die Bilddateigröße mit PHP stapelweise. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!