国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP使用get_headers函數判斷遠程文件是否存在的方法

2024-05-04 23:28:14
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP使用get_headers函數判斷遠程文件是否存在的方法,以實例形式分析了使用get_headers函數對遠程文件是否存在進行判斷的方法,以及針對重定向的排除方法,非常具有實用價值,需要的朋友可以參考下
 
 

本文實例講述了PHP使用get_headers函數判斷遠程文件是否存在的方法。分享給大家供大家參考。具體實現方法如下:

以前講過程關于php判斷遠程文件是否存在的文章都是利用fopen,sockt,curl函數來實現檢查遠程文件是否存在,下面我再介紹利用 get_headers來檢查遠程文件是否存在,感興趣的朋友可以參考一下。

先來簡單了解get_headers()函數

get_headers() 返回一個數組m包含有服務器響應一個 HTTP 請求所發送的標頭。

get_headers:發送服務器響應HTTP請求

get_headers(字符串url[鏈接格式])

get_headers()以數組的形式返回服務器HTTP請求m如果執行失敗,將返回FALSE和一個錯誤的水平E_WARNING,

可選參數設置為1,get_headers()能分析系統的響應速度和集數組中的鍵,

注意:使用該函數需要把 php.ini里面的allow_url_fopen = On,才能使用

實例代碼如下:

復制代碼代碼如下:
<?php 
$url = 'http://www.survivalescaperooms.com'; 
print_r(get_headers($url)); 
print_r(get_headers($url, 1)); 
?>

運行結果如下:
復制代碼代碼如下:
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Cache-Control: max-age=1800
    [2] => Content-Length: 54874
    [3] => Content-Type: text/html
    [4] => Content-Location: http://www.survivalescaperooms.com/index.htm
    [5] => Last-Modified: Fri, 28 Nov 2014 03:34:56 GMT
    [6] => Accept-Ranges: bytes
    [7] => ETag: "b66ba847bcad01:bc5"
    [8] => Server: Microsoft-IIS/6.0
    [9] => Date: Fri, 28 Nov 2014 03:37:34 GMT
    [10] => Connection: close
)
Array
(
    [0] => HTTP/1.1 200 OK
    [Cache-Control] => max-age=1800
    [Content-Length] => 54874
    [Content-Type] => text/html
    [Content-Location] => http://www.survivalescaperooms.com/index.htm
    [Last-Modified] => Fri, 28 Nov 2014 03:34:56 GMT
    [Accept-Ranges] => bytes
    [ETag] => "b66ba847bcad01:bc5"
    [Server] => Microsoft-IIS/6.0
    [Date] => Fri, 28 Nov 2014 03:37:35 GMT
    [Connection] => close
)

判斷遠程文件是否存在代碼如下:
復制代碼代碼如下:
//判斷遠程文件是否存在   
function remote_file_exists($url) {   
        $executeTime = ini_get('max_execution_time');   
        ini_set('max_execution_time', 0);   
        $headers = @get_headers($url);   
        ini_set('max_execution_time', $executeTime);   
        if ($headers) {   
            $head = explode(' ', $headers[0]);   
            if ( !emptyempty($head[1]) && intval($head[1]) < 400) return true;   
        }   
        return false;   
}

排除重定向的實例代碼如下:
復制代碼代碼如下:
<?php  
/** 
 * Fetches all the real headers sent by the server in response to a HTTP request without redirects 
 * 獲取不包含重定向的報頭 
 */  
     
function get_real_headers($url,$format=0,$follow_redirect=0) {  
  if (!$follow_redirect) {  
    //set new default options  
    $opts = array('http' =>  
        array('max_redirects'=>1,'ignore_errors'=>1)  
    );  
    stream_context_get_default($opts);  
  }  
  //get headers  
    $headers=get_headers($url,$format);  
    //restore default options  
  if (isset($opts)) {  
    $opts = array('http' =>  
        array('max_redirects'=>20,'ignore_errors'=>0)  
    );
    stream_context_get_default($opts);  
  }  
  //return  
    return $headers;  
}  
?>

 

希望本文所述對大家的PHP程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新泰市| 襄樊市| 政和县| 深水埗区| 广安市| 肥东县| 万山特区| 宁强县| 醴陵市| 克拉玛依市| 扬中市| 汝城县| 西昌市| 克拉玛依市| 北川| 胶南市| 新宁县| 惠来县| 凯里市| 云阳县| 蓬安县| 安乡县| 绍兴市| 麻栗坡县| 会昌县| 喀喇| 利辛县| 堆龙德庆县| 子长县| 汉中市| 福海县| 巴塘县| 武宣县| 锦屏县| 房产| 磐安县| 临沧市| 文化| 镇赉县| 英山县| 高清|