Heim > Backend-Entwicklung > PHP-Problem > So ermitteln Sie, ob in PHP ein Remote-Image vorhanden ist

So ermitteln Sie, ob in PHP ein Remote-Image vorhanden ist

Freigeben: 2023-02-27 21:30:01
Original
3471 Leute haben es durchsucht

So ermitteln Sie, ob in PHP ein Remote-Image vorhanden ist

PHP-Methode, um festzustellen, ob ein Remote-Image vorhanden ist:

function file_exists($url) {
$curl = curl_init($url);
// 不取回数据
curl_setopt($curl, CURLOPT_NOBODY, true);
// 发送请求
$result = curl_exec($curl);
$found = false;
// 如果请求没有发送失败
if ($result !== false) {
// 再检查http响应码是否为200
}
Nach dem Login kopieren

fsockopen-Version:

 $url = "http://www.baidu.com/img/baidu_sylogo1.gif";

    $info = parse_url($url);
    $fp = fsockopen($info['host'], 80,$errno, $errstr, 30);
    fputs($fp,"GET {$info['path']} HTTP/1.1\r\n");
    fputs($fp, "Host: {$info['host']}\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    $headers = array();
    while(!feof($fp)) {
    $line = fgets($fp);
    if($line != "\r\n") {
    $headers[] = $line;
    }else {
    break;
    }
    }

    echo "<pre class="brush:php;toolbar:false">";
    print_r($headers);
Nach dem Login kopieren

Verwenden Sie den HTTP-Statuscode, um festzustellen, ob das Die Antworten 302, 301, 404 usw. bedeuten beispielsweise, dass die Datei nicht vorhanden ist. Wenn sie 200, 304 usw. lautet, kann davon ausgegangen werden, dass die Datei vorhanden ist.

fopen()-Methode:

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

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

CURL-Methode:

<?php
    $url2 = &#39;http://www.test.com/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;;
    }
    ?>
Nach dem Login kopieren

Empfohlen: PHP-Server

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob in PHP ein Remote-Image vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage