ホームページ >バックエンド開発 >PHPチュートリアル >PHP はリモート ファイルが存在するかどうかを検出します

PHP はリモート ファイルが存在するかどうかを検出します

WBOY
WBOYオリジナル
2016-06-13 13:05:45794ブラウズ

php はリモート ファイルが存在するかどうかを監視します


function remote_file_exists($url_file){ 
    $url_file = trim($url_file); 
    if (empty($url_file)) return false; 
    $url_arr = parse_url($url_file); 
    if (!is_array($url_arr) || empty($url_arr)) return false; 
    $host = $url_arr['host']; 
    $path = $url_arr['path'] ."?".$url_arr['query']; 
    $port = isset($url_arr['port']) ?$url_arr['port'] : "80"; 
    $fp = fsockopen($host, $port, $err_no, $err_str,30); 
    if (!$fp) return false; 
    $request_str = "GET ".$path." HTTP/1.1\r\n"; 
    $request_str .= "Host:".$host."\r\n"; 
    $request_str .= "Connection:Close\r\n\r\n"; 
    fwrite($fp,$request_str); 
 
    $first_header = fread($fp, 128); 
    fclose($fp); 
    if (trim($first_header) == "") return false; 

    if (!preg_match("/200/", $first_header) || preg_match("/Location:/", $first_header)) return false; 
    return true; 
} 

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。