Maison  >  Article  >  développement back-end  >  Comment optimiser la vérification de l'existence d'images à distance avec PHP ?

Comment optimiser la vérification de l'existence d'images à distance avec PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-23 12:39:17281parcourir

How to Optimize Remote Image Existence Checking with PHP?

Vérification de l'existence d'une image distante avec PHP

La détermination de l'existence d'une image sur une URL distante est cruciale lors de la génération d'URL d'images dynamiques pour les bases de données. Les bibliothèques PHP comme curl peuvent faciliter cette tâche, mais leurs performances peuvent varier considérablement. Compte tenu du nombre important d'images à vérifier, l'optimisation de ce processus est primordiale.

La solution la plus efficace consiste à exploiter la bibliothèque curl avec les paramètres suivants :

function checkRemoteFile($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    // don't download content
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $result = curl_exec($ch);
    curl_close($ch);
    if($result !== FALSE)
    {
        return true;
    }
    else
    {
        return false;
    }
}

Cette approche privilégie la vitesse en définir CURLOPT_NOBODY sur 1, ce qui demande à curl de récupérer uniquement l'en-tête HTTP sans réellement télécharger le contenu de l'image. De plus, CURLOPT_FAILONERROR est défini sur 1 pour renvoyer FALSE si le fichier distant n'existe pas. La fonction évalue ensuite la valeur de retour de curl_exec pour déterminer si l'image existe à distance.

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!

Déclaration:
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