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

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

php文件路径处理函数的更多相关文章

  1. PHP常用获取文件路径的函数集合整理

    转自: http://blog.sina.com.cn/s/blog_71ed1b870102vslg.html 我们在开发PHP项目过程中,经常会用到包含文件,所以有时候需要获取文件的相对路径或者绝 ...

  2. python 文件路径操作方法(转)

    Python编程语言在实际使用中可以帮助我们轻松的实现一些特殊的功能需求.在这里我们将会为大家详细介绍一下有关Python文件路径的相关操作技巧,从而方便我们在实际开发中获得一些帮助. Python文 ...

  3. php glob()函数实现目录文件遍历与寻找与模式匹配的文件路径

    采用PHP函数glob实现寻找与模式匹配的文件路径,主要讨论glob()函数的作用和用法,利用glob函数读取目录比其它的要快N倍,因为glob函数是内置函数处理起来自然要快. 一,函数原型 arra ...

  4. How to:如何在调用外部文件时调试文件路径(常见于使用LaunchAppAndWait和LaunchApp函数)

    原文:How to:如何在调用外部文件时调试文件路径(常见于使用LaunchAppAndWait和LaunchApp函数) IS里调用外部文件的时候,一般都是用LaunchAppAndWait函数,比 ...

  5. 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数

    var fs = require('fs'); // 模板文件夹路径 var templateDirectory = '../src'; //相对于当前文件的相对路径 //var templateDi ...

  6. VC++ PathFindFileName函数,由文件路径获得文件名

    1.PathFindFileName函数的作用是返回路径中的文件名. PTSTR PathFindFileName( __in PTSTR pPath ); pPath是指向文件路径字符串的指针,函数 ...

  7. PHP中文件类型 文件属性 路径以及 文件相关的函数

    一: 文件类型判断: 1.is_dir()  判断是不是目录 2.is_file() 判断是不是文件 3.is_executable() 判断是不是可执行文件 4.is_readable()  判断是 ...

  8. [转载]《Delphi 版 everything、光速搜索代码》 关于获取文件全路径 GetFullFileName 函数的优化

    Delphi 版 everything.光速搜索代码>,文章中关于获取文件全路径的函数:GetFullFileName,有一个地方值得优化. 就是有多个文件,它们可能属于同一个目录. 譬如 Sy ...

  9. 在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: ‘文件路径’

    如题,在使用python语言的open函数时,提示错误OSError: [Errno 22] Invalid argument: '文件路径',在查阅了大量资料后也得到了一些解决方案,但是这些解决方案 ...

随机推荐

  1. [Beta]第七次 Scrum Meeting

    [Beta]第七次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/5/17 22:00 10min 大运村公寓6F寝室 附Github仓库:WEDO 例会照片 工作情况 ...

  2. 升级ruby的版本 https://gems.ruby-china.com/

    升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 1.主机环境如下: 1 [root@test ~]# cat /et ...

  3. JQuery selector form input

    var inputPhoneInFormActivity = $("form#formtab input[name='phone']"); if(inputPhoneInFormA ...

  4. [转]centos sqlite3安装及简单命令

    安装: 方法一: wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz tar xvzf sqlite-autoconf-3070500. ...

  5. 全基因组关联分析(GWAS)的计算原理

    前言 关于全基因组关联分析(GWAS)原理的资料,网上有很多. 这也是我写了这么多GWAS的软件教程,却从来没有写过GWAS计算原理的原因. 恰巧之前微博上某位小可爱提问能否写一下GWAS的计算原理. ...

  6. PAT 甲级 1077 Kuchiguse (20 分)(简单,找最大相同后缀)

    1077 Kuchiguse (20 分)   The Japanese language is notorious for its sentence ending particles. Person ...

  7. 【超分辨率】- CVPR2019中SR论文导读与剖析

    CVPR2019超分领域出现多篇更接近于真实世界原理的低分辨率和高分辨率图像对应的新思路.具体来说,以前论文训练数据主要使用的是人为的bicubic下采样得到的,网络倾向于学习bicubic下采样的逆 ...

  8. STM32F405的内部ADC采集

    1. ADC的初始化部分基本一致,下面是引脚复用配置 void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) { GPIO_InitTypeDef GPIO_Ini ...

  9. V8世界探险 (1) - v8 API概览

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lusing/article/detai ...

  10. Jacob操作ppt

    前几天使用Apache 的POI操作ppt,后来发现转成的图片出现乱码,而且处理了之后,还会有遗留 因此决定换一种处理方式 Jacob 是 JAVA-COM Bridge的缩写,是一个中间件,能够提供 ...