Wie verwende ich PHP, um mit nicht vorhandenen Bildressourcen umzugehen? Dieser Artikel fasst mehrere Methoden zur Verwendung von PHP zum Filtern nicht vorhandener Bildressourcen zusammen. Es ist sehr einfach und praktisch. Ich hoffe, es hilft allen.
Methode 1:
Die einfachste Methode besteht darin, mit fopen() zu prüfen, ob die Datei geöffnet werden kann. Wenn sie geöffnet werden kann, ist die Datei natürlich vorhanden.
<?php $url = 'http://www.jb51.net/images/test.jpg'; if( @fopen( $url, 'r' ) ) { echo 'File Exits'; } else { echo 'File Do Not Exits'; } ?>
Methode 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; }
Erstellen Sie zunächst einen Curl-Link zur ausgeführten URL, der ein Link zu einem Bild oder einer Datei ist
Initialisieren Sie eine Variable auf „false“
oder öffnen Sie die Header-Informationen des Links. Jede http-Anfrage hat einen http-Code
Wir basieren darauf: Verwenden Sie diesen Code zur Überprüfung
Wenn der Rückgabecode 200 ist, beweisen Sie, dass die Ressource vorhanden ist, und geben Sie der vorherigen Variablen einen wahren Wert, andernfalls wird sie nicht zugewiesen
Methode 3:
CURL-Methode
CURL ist eine sehr nützliche Klassenbibliothek. Sehen wir uns an, wie man sie zur Beurteilung verwendet.
<?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 '文件不存在'; } ?>
Wenn die Datei nach der Ausführung von curl_exec() nicht existiert, werden die folgenden Informationen zurückgegeben:
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
Verwenden Sie reguläre Ausdrücke, um zu sehen, ob ein 404-Fehler vorliegt. Wenn ja, existiert die Datei nicht.
Verwandte Empfehlungen:
PHP-Remote-Download von Bildern auf lokal
[PHP-Curl-Klassenbibliothek] 10 PHP-Curl-Klassenbibliotheken herunterladen
Das obige ist der detaillierte Inhalt vonVerwenden Sie PHP, um nicht vorhandene Bildressourcen zu verarbeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!