加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP使用get_headers函数判断远程文件是否存在的方法

发布时间:2020-12-13 02:13:28 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:PHP使用get_headers函数判断远程文件是否存在的方法》要点: 本文介绍了PHP实例:PHP使用get_headers函数判断远程文件是否存在的方法,希望对您有用。如果有疑问,可以联系我们。 PHP实战 本篇章节讲解PHP使用get_headers函数判断远程文件是否

《PHP实例:PHP使用get_headers函数判断远程文件是否存在的方法》要点:
本文介绍了PHP实例:PHP使用get_headers函数判断远程文件是否存在的方法,希望对您有用。如果有疑问,可以联系我们。

PHP实战本篇章节讲解PHP使用get_headers函数判断远程文件是否存在的办法.分享给大家供大家参考.具体实现办法如下:

PHP实战以前讲过程关于php判断远程文件是否存在的文章都是利用fopen,sockt,curl函数来实现检查远程文件是否存在,下面我再介绍利用 get_headers来检查远程文件是否存在,感兴趣的朋友可以参考一下.

PHP实战先来简单了解get_headers()函数

PHP实战get_headers() 返回一个数组m包含有服务器响应一个 HTTP 哀求所发送的标头.

PHP实战get_headers:发送服务器响应HTTP哀求

PHP实战get_headers(字符串url[链接格式])

PHP实战get_headers()以数组的形式返回服务器HTTP哀求m如果执行失败,将返回FALSE和一个错误的水平E_WARNING,

PHP实战可选参数设置为1,get_headers()能分析系统的响应速度和集数组中的键,

PHP实战注意:使用该函数需要把 php.ini里面的allow_url_fopen = On,才能使用

PHP实战实例代码如下:

代码如下:
<?php
$url = '';
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:
??? [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] =>
??? [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实战希望本文所述对大家的PHP程序设计有所赞助.

编程之家培训学院每天发布《PHP实例:PHP使用get_headers函数判断远程文件是否存在的方法》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读