zoukankan      html  css  js  c++  java
  • php判断远程文件是否存在

    php判断本地文件是否存在可以简单的使用is_file就可以实现。但是在部分情况下会检测远程文件是否存在,实现方式如下

    1、可以使用fsocketopen,通过返回的状态码判断

    2、使用curl,通过通过返回的状态码判断

    3、可以直接通过get_headers的方法来判断状态码

    以上方法是在远程url没有重定向的前提下,如果有重定向通过以下方法可以实现

    <?php
    $url = 'http://www.baidu.com/link?url=77I2GJqjJ4zBBpC8yDF8xDhiqDSn1JZjFWsHhEoSNd85PkV8Xil-rckpQ8_kjGKNNq';
    function fileExists($url){
        stream_context_set_default(
            array(
                'http' => array(
                    'timeout' => 5,
                )
            )
        );
        $header = get_headers($url,1);
        if(strpos($header[0],'200')){
            return true;
        }
        if(strpos($header[0],'404')){
            return false;
        }
        if (strpos($header[0],'301') || strpos($header[0],'302')) {
            if(is_array($header['Location'])) {
                $redirectUrl = $header['Location'][count($header['Location'])-1];
            }else{
                $redirectUrl = $header['Location'];
            }
            return fileExists($redirectUrl);
        }
    }
    
    var_dump(fileExists($url));
  • 相关阅读:
    web标准化布局
    最全前端资源汇集
    SVN使用教程
    FullPage.js中文帮助文档API
    如何选字体(font-family)
    网站禁止复制类型的属性
    Web前端学习方向
    div 命名规范! (野路子出来的好好看看)
    浏览器兼容处理
    JSONP 跨域问题
  • 原文地址:https://www.cnblogs.com/tm2015/p/13143831.html
Copyright © 2011-2022 走看看