• 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 相当于"\r\n" | linux/nuix 相当于"\n" | mac 相当于"\r"
  • 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) . "\n"; // ts=ts&ns=ns&wd=wd&wc=wc
echo http_build_query($data, '', '&a&') . "\n"; // 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

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. SSM项目实战 之 Shiro

    目录 Shiro 概述 shiro核心概念 核心类 整体类图 主要概念 Shiro架构 认证 什么是认证 关键对象 使用ini完成认证 认证流程 自定义realm 散列密码 授权 什么是授权 使用in ...

  2. Linux学习笔记(一)

    操作系统(operation system,os) 主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口, 以便于使用,作为中间人,连接软件和硬件 操作系统linux发展历程 unix-&g ...

  3. Netty 读写检测机制(心跳)

    一.创建服务端 1.MyServer 类 public class MyServer { public static void main(String[] args) throws Exception ...

  4. 详解python3如何调用c语言代码

    本文链接:https://blog.csdn.net/u012247418/article/details/80170690开发环境linux: python3.5.2 + ubuntu-gnome- ...

  5. Python3教程—很经典可以快速上手

    原文地址:https://www.runoob.com/python3/python3-tutorial.html Python 3 教程 Python 的 3.0 版本,常被称为 Python 30 ...

  6. java 库 pdfbox 将 pdf 文件转换成高清图片方法

    近期需要将 pdf 文件转成高清图片,使用库是 pdfbox.fontbox.可以使用 renderImageWithDPI 方法指定转换的清晰度,当然清晰度越高,转换需要的时间越长,转换出来的图片越 ...

  7. elementui---日期格式的选择

    在用elementui做数据提交的时候,默认的时间格式一个对象,好麻烦,主要对时间进行格式限制,具体方法如下: <el-form-item :label="$t('oneCard.bi ...

  8. SpringBoot @Autowired中注入静态方法或者静态变量

    注:用static去定义一个注入的方法或者配置文件值变量,编译时不会有任何异常,运行时会报空指针. Spring官方不推荐此种方法. 原理: https://www.cnblogs.com/chenf ...

  9. Spring IOC 三种注入方式(构造器,setter,接口)

    Spring的依赖注入有三种方式: 1,构造器注入 2,setter注入 3,接口注入 下面我给大家介绍一下这三种注入 1.构造器注入 构造器注入主要是依赖于构造方法去实现,构造方法可以是有参也可以是 ...

  10. Shell获取字符串长度的多种方法总结

    摘自:https://www.jb51.net/article/121290.htm 前言 我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳.汇总了求 ...