您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

PHP检测远端文件是否存在

来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:52 点击:

 

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

要确定一个文件在远端服务器上存在,只需要确定访问这个文件返回的状态码是”HTTP/1.1 200 OK”就行了(当然你也可以判断如果状态码不是”HTTP/1.1 404 Not Found”的话则文件存在,不过总感觉不保险,毕竟还有其他的诸如301,400这类的状态码)。

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

<?php  

function 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;

}

?>

 

本文固定链接: http://www.xssxss.com/fuck/323.xss | Shine的圣天堂-〃敏〃

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • PHP测试
    • 十天学会php之第六天
    • 几种显示数据的方法的比较
    • 使用xmlhttp为网站增加域名查询功能
    • PHP+MYSQL+Javascript数据库查询结果的动态显示
    • 查找数组中指定键名的值
    • 用redis实现跨服务器session
    • 用新浪微博接口发送图片微博失败的原因
    • smarty局部缓存技术[源码分析]
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1