Maison > Article > développement back-end > Utiliser PHP pour gérer des ressources d'image inexistantes
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 = 'http://www.jb51.net/images/test.jpg'; if( @fopen( $url, 'r' ) ) { echo 'File Exits'; } else { echo 'File Do Not Exits'; } ?>
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
<?php $url2 = 'http://www.jb51.net/test.jpg'; $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 '文件不存在'; } ?>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/htmlUtilisez 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
[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!