Im heutigen visuell orientierten Zeitalter ist die Bildqualität der Website sehr wichtig. Hochauflösende Bilddateien führen jedoch häufig dazu, dass die Website langsamer lädt, die Benutzererfahrung beeinträchtigt und das Website-Ranking beeinträchtigt. Daher müssen wir bei der Entwicklung der Website PHP verwenden, um die Größe und Qualität der Bilder zu optimieren und die Geschwindigkeit und Benutzererfahrung der Website zu verbessern. Hier sind mehrere Möglichkeiten, die Bildgröße und -qualität mit PHP zu optimieren.
// 获取原始图片 $image = imagecreatefromjpeg('original_image.jpg'); // 获取原始图片的宽度和高度 $width = imagesx($image); $height = imagesy($image); // 计算缩小的比例 $scale = 0.5; // 计算新的宽度和高度 $new_width = $width * $scale; $new_height = $height * $scale; // 创建新的图片 $new_image = imagecreatetruecolor($new_width, $new_height); // 进行缩放 imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // 输出新的图片 imagejpeg($new_image, 'new_image.jpg', 80); // 80代表图片质量,可自行调整 // 释放内存 imagedestroy($image); imagedestroy($new_image);
In diesem Beispiel verwenden wir die GD-Bibliothek, um ein Originalbild zu komprimieren und ein neues Bild auszugeben. Unter anderem kann die Funktion imagecopyresampled() das Skalieren und Zuschneiden von Bildern erreichen und gleichzeitig die Qualität des Bildes beibehalten.
2. Verwenden Sie Tools von Drittanbietern für die Bildkomprimierung.
// 引入curl库 require('vendor/autoload.php'); // 获取图片内容 $image_content = file_get_contents('original_image.jpg'); // 初始化curl $curl = curl_init(); // 设置curl的参数 curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.tinify.com/shrink', CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => array( 'Authorization: Basic ' . base64_encode('api_key:'), 'Content-Type: application/json' ), CURLOPT_POSTFIELDS => json_encode(array( 'source' => base64_encode($image_content), )) )); // 执行curl并获取压缩后的图片内容 $response = curl_exec($curl); // 获取压缩后的图片的大小 $new_size = curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD); // 关闭curl curl_close($curl); // 解析返回的JSON数据 $data = json_decode($response, true); // 获取压缩后的图片 $new_image_content = file_get_contents($data['output']['url']); // 输出压缩后的图片 file_put_contents('new_image.jpg', $new_image_content);
In diesem Beispiel verwenden wir die API von TinyPNG, um Bilder zu komprimieren, den komprimierten Bildinhalt abzurufen und die komprimierten Bilder auszugeben.
3. Verwenden Sie reaktionsfähige Bilder
// 获取原始图片 $image = imagecreatefromjpeg('original_image.jpg'); // 获取原始图片的宽度和高度 $width = imagesx($image); $height = imagesy($image); // 定义响应式图片尺寸 // 可自行根据项目需求设置 $sizes = array( '(max-width: 640px) 100vw', '50vw', '33.3vw' ); // 定义缩放比例 $scales = array( 1, 0.5, 0.3 ); // 输出响应式图片 echo '<img srcset="'; foreach ($sizes as $key => $size) { $new_width = $width * $scales[$key]; $new_height = $height * $scales[$key]; $new_image = imagecreatetruecolor($new_width, $new_height); imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); imagejpeg($new_image, 'new_image_'.$key.'.jpg', 80); // 80代表图片质量,可自行调整 echo 'new_image_'.$key.'.jpg ' . $size . ($key == count($sizes)) ? '' : ','; imagedestroy($new_image); } echo '" sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33.3vw" />'; // 释放内存 imagedestroy($image);
In diesem Beispiel haben wir zunächst die Größe und Qualität des Originalbilds über die GD-Bibliothek angepasst und dann reaktionsfähige Bilder entsprechend unterschiedlichen Größen und Skalierungsverhältnissen generiert. Abschließend geben wir das responsive Bild über das
-Tag in HTML aus.<img>
Zusammenfassend ist es sehr wichtig, PHP zu verwenden, um die Bilddateigröße und -qualität der Website zu optimieren, wodurch die Geschwindigkeit und das Benutzererlebnis der Website effektiv verbessert werden können. Wir können durch Methoden wie die GD-Bibliothek, Komprimierungstools von Drittanbietern und responsive Bilder optimieren. Gleichzeitig ist die Auswahl einer geeigneten Optimierungsstrategie basierend auf den tatsächlichen Anforderungen des Projekts und der Benutzererfahrung der Schlüssel.
Das obige ist der detaillierte Inhalt vonSo optimieren Sie mit PHP die Bilddateigröße und -qualität Ihrer Website. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!