www.adminn.cn
站长正能量分享网!

php文件夹/文件目录操作函数

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

php文件夹操作函数:string basename(string path [, string suffix])

给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名,如果文件名是以 suffix 结束的,那这一部分也会被去掉,在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符,在其它环境下是斜线(/).

string dirname(string path)

给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名,在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符,在其它环境下是斜线(/).

array pathinfo(string path [, int options])

pathinfo() 返回一个联合数组包含有 path 的信息,包括以下的数组单元:dirname,basename 和 extension.

可以通过参数 options 指定要返回哪些单元,它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION,默认是返回全部的单元.

string realpath(string path)

realpath() 扩展所有的符号连接并且处理输入的 path 中的 ‘/./’, ‘/../’ 以及多余的 ‘/’ 并返回规范化后的绝对路径名,返回的路径中没有符号连接,’/./’ 或 ‘/../’ 成分.

realpath() 失败时返回 FALSE,比如说文件不存在的话,在 BSD 系统上,如果仅仅是 path 不存在的话,PHP 并不会像其它系统那样返回 FALSE.

bool is_dir(string filename)

如果文件名存在并且为目录则返回 TRUE,如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径.

注:本函数的结果会被缓存,更多信息参见 clearstatcache().

resource opendir(string path [,resource context])

打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中.

string readdir(resource dir_handle)

返回目录中下一个文件的文件名,文件名以在文件系统中的排序返回.

void closedir(resource dir_handle)

关闭由 dir_handle 指定的目录流,流必须之前被 opendir() 所打开.

void rewinddir(resource dir_handle)

将 dir_handle 指定的目录流重置到目录的开头.

array glob ( string pattern [, int flags] )

glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样,不进行缩写扩展或参数替代.

返回一个包含有匹配文件/目录的数组,如果出错返回 FALSE.

有效标记为:

GLOB_MARK – 在每个返回的项目中加一个斜线 

GLOB_NOSORT – 按照文件在目录中出现的原始顺序返回(不排序)

GLOB_NOCHECK – 如果没有文件匹配则返回用于搜索的模式 

GLOB_NOESCAPE – 反斜线不转义元字符 

GLOB_BRACE – 扩充 {a,b,c} 来匹配 ‘a’,’b’ 或 ‘c’ 

GLOB_ONLYDIR – 仅返回与模式匹配的目录项 

注:在 PHP 4.3.3 版本之前 GLOB_ONLYDIR 在 Windows 或者其它不使用 GNU C 库的系统上不可用.

GLOB_ERR – 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

注:GLOB_ERR 是 PHP 5.1 添加的.

php文件目录操作,新建文件

1、先确定要写入文件的内容:$content = '你好';

2、打开这个文件:系统会自动建立这个空文件.

假设新建的文件叫file.txt,而且在上级目录下,w表示‘写文件’,$fp下面要用到,表示指向某个打开的文件.

$fp = fopen('../file.txt', 'w');

3、将内容字符串写入文件

$fp告诉系统要写入的文件,写入的内容是$content.

fwrite($fp, $content);

4、关闭文件:fclose($fp);

说明:PHP5中提供了更方便的函数file_put_contents,上面的4步可以这样完成:

$content = '你好';file_put_contents('file.txt',$content);

删除文件:删除当前目录下的arch目录下的文件abc.txt:unlink('arch/abc.txt');

说明:系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否删除成功:

$deleteResult = unlink('arch/abc.txt');

获取文件内容:假设获取的目标文件名是file.txt,而且在上级目录下,获取的内容放入$content.

$content = file_get_contents('../file.txt');

修改文件内容,操作方法与新建内容基本一样

重命名文件或目录,将当前目录下的子目录a下面的文件1.gif重命名为2.gif.

rename('/a/1.gif', '/a/2.gif');

说明:对目录也一样,系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否重命名成功.

$renameResult = rename('/a/1.gif', '/a/2.gif');

如果要移动文件或目录,只要将重命名后的路径设置为新的路径就可以了,将当前目录下的子目录a下面的文件1.gif,移动到当前目录下的子目录b,并且重命名为2.gif.

rename('/a/1.gif', '/b/2.gif');

不过要注意,如果目录b不存在,就会移动失败.

复制文件,将当前目录下的子目录a下面的文件1.gif,复制到当前目录下的子目录b,并命名为2.gif.

copy('/a/1.gif', '/b/1.gif');

说明:不能对目录进行此项操作,如果目标文件(上面的/b/1.gif)已经存在,原来的文件将被覆盖.

系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否复制成功.

$copyResult = copy('/a/1.gif', '/b/1.gif');

移动文件或目录,操作方法和重命名一样,文件或目录是否存在,检查上级目录下的文件logo.jpg是否存在.

$existResult = file_exists('../logo.jpg');

说明:如果文件存在系统返回true,否则返回false,可以对目录进行同样的操作.

获取文件大小,获取上级目录下的文件logo.png的大小.

$size = filesize('../logo.png');

说明:系统会返回一个数字,表示文件的大小是多少字节(bytes).

新建目录,在当前目录下的目录a下面新建目录b.

mkdir('/a/b');

说明:系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否新建成功:

$mkResult = mkdir('/a/b');

删除目录,删除当前目录下的目录a下面的子目录b.

rmdir('/a/b');

说明:只能删除非空的目录,否则必须先删除目录下的子目录和文件,再删除总目录,系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否删除成功:

$deleteResult = rmdir('/a/b');

获取目录中的所有文件名.

1、先打开要操作的目录,并用一个变量指向它,打开当前目录下的目录pic下的子目录common.

$handler = opendir('pic/common');

2、循环的读取目录下的所有文件

其中$filename = readdir($handler)是每次循环的时候将读取的文件名赋值给$filename,为了不陷于死循环,所以还要让$filename !== false,一定要用!==,因为如果某个文件名如果叫'0',或者某些被系统认为是代表false,用!=就会停止循环*/

while( ($filename = readdir($handler)) !== false )  {

3、目录下都会有两个文件,名字为'.'和‘..’,不要对他们进行操作

if($filename != "." && $filename != "..") {

4、进行处理,这里简单的用echo来输出文件名

echo $filename;}}

5、关闭目录

closedir($handler);

对象是否是目录,检查上级目录下的目标对象logo.jpg是否是目录.

$checkResult = is_dir('../logo.jpg');//phpfensi.com

说明:如果目标对象是目录系统返回true,否则返回false,上面例子的$checkResult当然是false.

对象是否是文件,检查上级目录下的目标对象logo.jpg是否是文件.

$checkResult = is_file('../logo.jpg');

说明:如果目标对象是文件,系统返回true,否则返回false,上面例子的$checkResult当然是true.

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php文件夹/文件目录操作函数》
文章链接:https://www.adminn.cn/news/6432.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏