• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP检测远端资料是否存在

php 搞代码 4年前 (2022-01-24) 11次浏览 已收录 0个评论

PHP检测远端文件是否存在

<?php$url = 'http://example.com';$hander_array = get_headers ( $url );if ($header_array [0] == 'HTTP/1.1 200 OK') {	echo '文件存在';} else {	echo '文件不存在';} 

?简单解释一下上面的代码。get_headers的作用就是访问一个远程地址,把服务器发送的HTTP头以数组形式返回。而$header[0]则是服务器返回的状态码(如果不出意外的话状态码应该都是第一个返回的)。

要确定一个文件在远端服务器上存在,只需要确定访问这个文件返回的状态码是”HTTP/1.1 200 OK”就行了(当然你也可以判断如果状态码不是”HTTP/1.1 404 No·本2文来源gaodai$ma#com搞$代*码网2搞gaodaima代码t Found”的话则文件存在,不过总感觉不保险,毕竟还有其他的诸如301,400这类的状态码)。

获取三位HTTP响应码的例子:

<?phpfunction get_http_response_code($theURL) {    $headers = get_headers($theURL);    return substr($headers[0], 9, 3);}?> 

?排除重定向的例子:

<?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;}?> 

?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP检测远端资料是否存在
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址