Maison > développement back-end > tutoriel php > Comment puis-je optimiser les performances de getimagesize pour les images distantes ?

Comment puis-je optimiser les performances de getimagesize pour les images distantes ?

Susan Sarandon
Libérer: 2024-10-29 08:06:30
original
432 Les gens l'ont consulté

How can I optimize getimagesize performance for remote images?

Accélération des performances de getimagesize pour les images distantes

Getimagesize est souvent utilisé pour déterminer les dimensions des images distantes. Cependant, lorsqu'il s'agit de traiter un grand nombre d'images, cela peut prendre beaucoup de temps.

Une approche plus rapide consiste à récupérer une petite partie des données de l'image à l'aide de file_get_contents et à l'analyser pour récupérer la taille. Cette méthode évite la surcharge liée au chargement de l'image entière.

Voici un exemple de mise en œuvre de cette technique à l'aide de la fonction ranger :

<code class="php">function ranger($url) {
    $headers = ["Range: bytes=0-32768"];

    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($curl);
    curl_close($curl);

    return $data;
}</code>
Copier après la connexion

Pour démontrer les performances améliorées, considérons l'exemple suivant :

<code class="php">$start = microtime(true);

$url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg";

$raw = ranger($url);
$im = imagecreatefromstring($raw);

$width = imagesx($im);
$height = imagesy($im);

$stop = round(microtime(true) - $start, 5);

echo $width." x ".$height." ({$stop}s)";</code>
Copier après la connexion

Lors des tests, la récupération des 32 premiers Ko de données d'image a fourni des gains de performances impressionnants :

640 x 480 (0.20859s)
Copier après la connexion

Cette approche réduit considérablement le temps nécessaire pour déterminer la taille des images distantes, ce qui le rend idéal pour traiter de grands ensembles de données.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal