Maison  >  Article  >  développement back-end  >  Utiliser PHP pour gérer des ressources d'image inexistantes

Utiliser PHP pour gérer des ressources d'image inexistantes

*文
*文original
2017-12-26 14:19:151833parcourir

Comment utiliser PHP pour gérer des ressources d'images inexistantes ? Cet article résume plusieurs méthodes pour utiliser PHP pour filtrer des ressources d'images inexistantes. C'est très simple et pratique. J'espère que cela aide tout le monde.

Méthode 1 :

La méthode la plus simple consiste à utiliser fopen() pour voir si le fichier peut être ouvert. S'il peut être ouvert, le fichier existera bien sûr.


<?php
$url = &#39;http://www.jb51.net/images/test.jpg&#39;;

if( @fopen( $url, &#39;r&#39; ) ) 
{ 
 echo &#39;File Exits&#39;;
} 
else 
{
 echo &#39;File Do Not Exits&#39;;
}
?>

Méthode 2 :


/** 
   * 筛选不存在的图片资源 
   * 
   * @author wanggeng <wanggeng123@vip.qq.com> 
   * @return vodi 
   */ 
   
  private static function _checkAll($url) 
  {  
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_NOBODY, true); 
    $result = false; 
    $res = curl_exec($curl); 
    if ($res !== false){ 
      $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
      if($statusCode == 200) { 
        $result = true; 
      } 
    } 
    curl_close($curl); 
    return $result; 
  }

Créez d'abord un lien curl vers l'url exécutée, qui est un lien vers une image ou un fichier
Initialisez une variable sur false
ou ouvrez les informations d'en-tête du lien. Chaque requête http aura un code httpNous allons nous baser sur Utiliser ce code pour vérifier
Si le code retour est 200, prouver que la ressource existe et donner une valeur vraie à la variable précédente, sinon elle ne sera pas attribuée

Méthode 3 :

Méthode CURL

CURL est une bibliothèque de classes très utile Voyons comment l'utiliser pour juger.

<?php
$url2 = &#39;http://www.jb51.net/test.jpg&#39;;

$ch = curl_init();
$timeout = 10;
curl_setopt ($ch, CURLOPT_URL, $url2);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$contents = curl_exec($ch);
//echo $contents;
if (preg_match("/404/", $contents)){
 echo &#39;文件不存在&#39;;
}
?>

Si le fichier n'existe pas après l'exécution de curl_exec(), les informations suivantes seront renvoyées :

HTTP/1.1 404 Not Found
Date: Tue, 14 Feb 2012 05:08:34 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 354
Content-Type: text/html

Utilisez des expressions régulières pour voir s'il existe un 404. Si c'est le cas, le fichier n'existe pas.

Recommandations associées :

php téléchargement à distance de photos en local

Gestion de fichiers PHP à distance, vous pouvez trier les tables, parcourir les répertoires et trier par heure_Tutoriel PHP

[Bibliothèque de classes php curl] 10 bibliothèques de classes php curl à télécharger

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