Comment puis-je accélérer l'extraction des dimensions d'une image à distance avec la fonction getimagesize de PHP ?

Patricia Arquette
Libérer: 2024-11-04 01:25:03
original
377 Les gens l'ont consulté

How can I speed up remote image dimension extraction with PHP's getimagesize function?

Accélération de getimagesize en PHP pour l'extraction des dimensions d'images à distance

La détermination des dimensions des images distantes à l'aide de la fonction getimagesize de PHP peut être lente pour les grands ensembles d'images . Cet article explore une approche alternative qui exploite file_get_contents pour récupérer une partie des données binaires des images à des fins d'analyse de taille.

Pour extraire les dimensions de l'image à l'aide de cette méthode, implémentez la fonction suivante :

<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

Ensuite, exécutez le code suivant pour récupérer les dimensions d'une image distante :

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

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

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

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

Dans notre scénario de test, cette approche a donné les dimensions d'une image distante en moins de 0,2 seconde.

Remarque : Ajustez le paramètre range (dans l'en-tête "Range") pour récupérer des données plus ou moins binaires de l'image. Expérimentez avec différentes gammes pour optimiser les performances de votre application spécifique.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!