• php文件路径处理函数


    • basename -- 返回路径中的文件名部分
    # 语法
    string basename ( string $path [, string $suffix ] )
    //> 手册例子
    echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;  //> sudoers
    echo "2) ".basename("/etc/passwd").PHP_EOL; //> passwd
    echo "3) ".basename("/etc/").PHP_EOL; //> etc
    echo "4) ".basename(".").PHP_EOL;  //> .
    echo "5) ".basename("/");  //> 
    # 参数 $suffix 去除指定部分
    # PHP_EOL php常量 换行符 windows 相当于"
    " |  linux/nuix 相当于"
    " | mac 相当于"
    "
    
    • dirname -- 返回路径中的目录部分
    # 语法
    string dirname ( string $path )
    //> 手册例子 (dirname返回当前目录的上级目录部分)
    echo "1) " . dirname("/etc/passwd") . PHP_EOL; // 1) /etc
    echo "2) " . dirname("/etc/") . PHP_EOL; // 2) / (or  on Windows)
    echo "3) " . dirname("."); // 3) .
    //> __FILE__ 常量和dirname
    //> __FILE__ 返回当前文件的路径(和inclde|require引用无关)
    echo dirname(__FILE__);  //> 返回当前文件所在路径的上级目录
    
    • pathinfo -- 返回文件路径的信息(数组)
    # 语法
    mixed pathinfo(string $path [,int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME])
    //> 返回一个关联数组包含有 path 的信息。返回关联数组还是字符串取决于 options
    //> PHPINFO常量
    PATHINFO_DIRNAME = 1
    PATHINFO_BASENAME = 2
    PATHINFO_EXTENSION = 4
    PATHINFO_FILENAME = 8
    PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME = 15
    //> 示例
    $pathinfo = pathinfo('c:/www/htdocs/inc/lib.inc.php');
    print_r($pathinfo);
    /**
      Array
      (
          [dirname] => c:/www/htdocs/inc
          [basename] => lib.inc.php
          [extension] => php
          [filename] => lib.inc
      )
    */
    //> - - - - - - - - - - - - - - - - - - -
    $pathinfo = pathinfo('/www/htdocs/inc/');
    print_r($pathinfo);
    /**
      Array
      (
          [dirname] => /www/htdocs
          [basename] => inc
          [filename] => inc
      )
    */
    
    • realpath -- 返回规范化的绝对路径名
    # 语法
    string realpath ( string $path ) //> 该方法会检查当前文件路径是否存在(不存在时会返回false)
    var_dump(realpath('./../../etc/passwd'));      //> false
    var_dump(realpath('/windows/system32')); //> c:/windows/system32 windows系统支持自动添加前缀
    
    • parse_url -- 解析URL,返回其组成部分
    # 语法
    mixed parse_url( string $url [,int $component = -1])
    //> $component 参数由下面常数组成
    PHP_URL_SCHEME => 0
    PHP_URL_HOST => 1
    [PHP_URL_PORT => 2
    PHP_URL_USER => 3
    PHP_URL_PASS => 4
    PHP_URL_PATH => 5
    PHP_URL_QUERY => 6
    PHP_URL_FRAGMENT => 7
    //> 案例
    $url = 'http://username:password@hostname/path?arg=value#anchor';
    print_r(parse_url($url));
    print_r(parse_url('https://www.sd.tianfumeishi.cn/admin/login/index.php?ts=ts&ns=ns#us'));
    /**
      # http://username:password@hostname/path?arg=value#anchor
      Array
      (
          [scheme] => http
          [host] => hostname
          [user] => username
          [pass] => password
          [path] => /path
          [query] => arg=value
          [fragment] => anchor
      )
    */
    
    /**
      # https://www.sd.tianfumeishi.cn/admin/login/index.php?ts=ts&ns=ns#us
      Array
      (
          [scheme] => https
          [host] => www.sd.tianfumeishi.cn
          [path] => /admin/login/index.php
          [query] => ts=ts&ns=ns
          [fragment] => us
      )
    */
    
    • parse_str -- 该字符串解析成多个变量
    # 语法
    void parse_str ( string $str [, array &$arr ] )
    //> 设置了第二个变量 arr,变量将会以数组元素的形式存入到这个数组,作为替代
    $str = "first=value&arr[]=foo+bar&arr[]=baz";
    parse_str($str);
    echo $first.'<br>';     //> value
    echo $arr[0].'<br>';   //> foo bar
    echo $arr[1].'<br>';   //> baz
    //> parse_str 存入第二个参数中 output
    parse_str($str,$output);
    echo $output['first'].'<br>';   //> value
    echo $output['arr'][0].'<br>';  //> foo bar
    echo $output['arr'][1].'<br>';  //> baz
    
    • http_build_query -- 生成 URL-encode 之后的请求字符串
    # 语法
    string http_build_query( mixed $query_data [, string ] $numeric_prefix [, string $arg_separator [, int $enc_type ] =PHP_QUERY_RFC1738]]])
    //> 参数二:变量前缀(当是数字时添加) | 参数四:编码格式
    $data = array(
        'ts' => 'ts',
        'ns' => 'ns',
        'wd' => 'wd',
        'wc' => 'wc'
    );
    echo http_build_query($data) . "
    ";            // ts=ts&ns=ns&wd=wd&wc=wc
    echo http_build_query($data, '', '&a&') . "
    "; // ts=ts&a&ns=ns&a&wd=wd&a&wc=wc
    echo http_build_query($data, 'wd_', '&a&');     // ts=ts&a&ns=ns&a&wd=wd&a&wc=wc
    //> 更多用法参看手册




    原文:https://www.jianshu.com/p/729417cc990b

  • 相关阅读:
    VMWare中Red Hat Enterprise Linux 6与Windows XP共享文件夹/共享目录
    PetShop 4.0的数据库
    Eclipse安装Perl插件
    安装GCC for Red Hat Enterprise Linux Server release 6(64位)
    下载 Microsoft .NET Pet Shop 4.0
    一步一步安装 Microsoft .NET Pet Shop 4.0
    Visual Studio 2008安装ASP.NET MVC 2 RTM
    HTML标签大全(常用)
    换了个公司
    Counterfeit Dollar(poj1013暴力枚举)
  • 原文地址:https://www.cnblogs.com/showcase/p/10935455.html
Copyright © 2020-2023  润新知