Étapes d'apprentissage PHP : Comment optimiser le chargement des images

王林
Libérer: 2023-08-18 12:06:01
original
1248 Les gens l'ont consulté

Étapes dapprentissage PHP : Comment optimiser le chargement des images

Étapes d'apprentissage PHP : Comment optimiser le chargement des images

Dans le développement Web moderne, l'optimisation du chargement des images est un sujet important. Avec le développement du web design, les images sont devenues partie intégrante de la page. Cependant, les images trop volumineuses ou non optimisées peuvent ralentir le chargement des pages Web, affectant ainsi l'expérience utilisateur. Par conséquent, apprendre à optimiser le chargement des images est une compétence que tout développeur PHP doit maîtriser.

Ce qui suit présentera quelques méthodes couramment utilisées pour optimiser le chargement des images et des exemples de code PHP correspondants. Nous développerons les images compressées, le chargement différé et la sortie de flux d'octets.

  1. Compresser les images

La compression d'image est une méthode couramment utilisée pour optimiser le chargement des images. En réduisant la taille du fichier, vous pouvez réduire le temps nécessaire aux images pour voyager sur le réseau. PHP fournit une variété de façons de compresser des images. Voici un exemple de code basé sur la bibliothèque GD :

<?php
// 原始图片路径
$source_path = '/path/to/source/image.jpg';

// 目标图片路径
$target_path = '/path/to/target/image.jpg';

// 打开原始图片
$source_image = imagecreatefromjpeg($source_path);

// 获取原始图片的尺寸
$width = imagesx($source_image);
$height = imagesy($source_image);

// 创建目标图片
$target_image = imagecreatetruecolor($width, $height);

// 压缩原始图片到目标图片
imagecopyresampled($target_image, $source_image, 0, 0, 0, 0, $width, $height, $width, $height);

// 保存目标图片
imagejpeg($target_image, $target_path);

// 释放内存
imagedestroy($source_image);
imagedestroy($target_image);
?>
Copier après la connexion

Dans le code ci-dessus, nous utilisons les fonctions fournies par la bibliothèque GD pour compresser les images. Tout d’abord, ouvrez l’image originale via la fonction imagecreatefromjpeg(), puis récupérez ses dimensions. Ensuite, créez une image cible avec les mêmes dimensions que l'image d'origine et utilisez la fonction imagecopyresampled() pour compresser l'image d'origine dans l'image cible. Enfin, utilisez la fonction imagejpeg() pour enregistrer l'image cible et libérer la mémoire. imagecreatefromjpeg()函数打开原始图片,然后获取其尺寸。接下来,创建一个与原始图片尺寸相同的目标图片,使用imagecopyresampled()函数将原始图片压缩到目标图片中。最后,使用imagejpeg()函数保存目标图片,并释放内存。

  1. 延迟加载

延迟加载是一种优化图片加载的方法,可以减少页面的加载时间。通过延迟加载,我们可以将图片的加载推迟到用户浏览到页面中需要的时候再进行。下面是一个简单的延迟加载的PHP代码示例:

<?php
// 原始图片路径
$source_path = '/path/to/source/image.jpg';

// 占位图片路径
$placeholder_path = '/path/to/placeholder/image.jpg';

// 替代属性
$alt = '图片';

// 输出占位图片
echo "<img src='{$placeholder_path}' data-original='{$source_path}' alt='{$alt}' class='lazyload' />";
?>

<script src="https://cdn.jsdelivr.net/npm/lazyload/lazyload.min.js"></script>
<script>
// 延迟加载配置
lazyloadConfig = {
    elements_selector: ".lazyload",
    callback_reveal: function(element) {
        element.src = element.getAttribute('data-original');
    }
};

// 初始化延迟加载
LazyLoad.init(lazyloadConfig);
</script>
Copier après la connexion

上述代码中,我们首先输出一个带有占位图片和延迟加载配置的<img alt="Étapes d'apprentissage PHP : Comment optimiser le chargement des images" >标签。其中data-original属性指向原始图片路径,class属性为lazyload。然后在页面底部引入延迟加载的JavaScript库,并通过初始化配置来延迟加载所有带有lazyload类的图片。当用户浏览到需要加载图片的位置时,延迟加载库会将原始图片路径赋值给src属性,实现延迟加载。

  1. 字节流输出

字节流输出是一种优化图片加载的方法,可以减少图片在网络中的传输时间。通过直接将图片的字节流输出到浏览器,可以避免使用磁盘中的临时文件。下面是一个使用字节流输出图片的PHP代码示例:

<?php
// 图片路径
$image_path = '/path/to/image.jpg';

// 获取图片的MIME类型
$mime_type = mime_content_type($image_path);

// 设置响应头
header('Content-Type: '.$mime_type);

// 输出图片字节流
readfile($image_path);
?>
Copier après la connexion

上述代码中,我们首先使用mime_content_type()函数获取图片的MIME类型,并通过header()函数设置响应头。然后通过readfile()

    Chargement paresseux

    Le chargement paresseux est une méthode pour optimiser le chargement des images, ce qui peut réduire le temps de chargement de la page. Grâce au chargement paresseux, nous pouvons reporter le chargement des images jusqu'à ce que l'utilisateur ait besoin de parcourir la page. Ce qui suit est un exemple simple de code PHP à chargement paresseux :

    rrreee🎜Dans le code ci-dessus, nous générons d'abord une balise <img alt="Étapes d'apprentissage PHP : Comment optimiser le chargement des images" > avec une image d'espace réservé et une configuration de chargement paresseux. L'attribut data-original pointe vers le chemin de l'image d'origine et l'attribut class est lazyload. Ensuite, introduisez la bibliothèque JavaScript à chargement paresseux en bas de la page et chargez paresseusement toutes les images avec la classe lazyload via la configuration d'initialisation. Lorsque l'utilisateur accède à l'emplacement où l'image doit être chargée, la bibliothèque de chargement différé attribuera le chemin d'accès de l'image d'origine à l'attribut src pour implémenter le chargement différé. 🎜
      🎜Sortie de flux d'octets🎜🎜🎜La sortie de flux d'octets est une méthode pour optimiser le chargement des images, ce qui peut réduire le temps de transmission des images sur le réseau. En envoyant le flux d'octets de l'image directement vers le navigateur, vous pouvez éviter d'utiliser des fichiers temporaires sur le disque. Voici un exemple de code PHP qui utilise des flux d'octets pour générer des images : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons d'abord la fonction mime_content_type() pour obtenir le type MIME de l'image, et passons header() définit l'en-tête de réponse. Ensuite, le flux d'octets de l'image est envoyé au navigateur via la fonction <code>readfile(). 🎜🎜Résumé🎜🎜L'optimisation du chargement des images est cruciale pour améliorer les performances des pages Web et l'expérience utilisateur. Le chargement des images peut être efficacement optimisé grâce à des méthodes telles que la compression d'images, le chargement paresseux et la sortie de flux d'octets. Dans le développement PHP, nous pouvons utiliser la bibliothèque GD pour la compression d'images, le chargement paresseux d'images via la bibliothèque de chargement paresseux et la sortie d'images via des flux d'octets. La maîtrise de ces méthodes peut nous aider à développer des pages Web plus rapides et plus efficaces. J'espère que cet article pourra vous aider à optimiser le chargement des images dans le processus d'apprentissage de PHP. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal