PHP中目录操作实例详解
程序员文章站
2022-04-19 10:06:57
...
本文主要和大家分享PHP中目录操作实例详解,Mkdir(目录地址[,权限[,是否递归创建(默认为false)]]);成功返回true否则返回false。默认权限为0777,时最大访问权限。此设置在windows系统中不起作用(Linux操作)。
echo mkdir('./name/li');//当前目录下并没有name这个文件夹
执行此操作发现报错,因为根本不存在name这个文件夹,因此就不能建立在name文件夹下的li文件夹
echo mkdir('./name/li',0777,true);//支持递归创建。
此时返回结果为1,表示执行成功,并且在当前目录下存在name文件夹,其子文件夹中也有li文件夹。这就是Mkdir()支持的递归创建----即,自动创建目录地址中不存在的文件夹。
删除目录:
Rmdir(目录地址);此处仅仅可以删除空目录,且不支持递归删除。
移动(改名):
Rename(旧地址,新地址);
rename('./name/li','./li');在上面的继承上进行此操作后,当前目录下name文件夹存在,且存在li文件夹,而name文件夹下的li文件夹消失了。(该函数也支持操作文件)
获取目录内容:
1.打开目录:目录句柄=opendir(目录地址);
2.读取文件:文件名=readdir(目录句柄);依次读取一个文件(子目录),同时向下移动句柄指针。如果取不到就返回false。(一般在目录中都存在两个逻辑子目录.和..分别表示当前目录和上级目录)。此处读取的是名字而不是内容。
3.关闭目录:closedir(目录句柄);
实例:递归删除文件
<?php /** *递归删除指定文件目录下的所有问价及文件夹 **/ function RemoveDir($path){ $path=iconv('utf-8','gbk',$path);//windows中汉字编码为gbk,而php中使用的是utf-8编码。 $dir_handle=opendir($path); echo "{$path}<br/>"; while(false!==$file=readdir($dir_handle))//此处用false!==$file是因为有的文件夹如果命名为0的话。会造while($file=readdir($dir_handle))条件不满足 { if($file=='.'||$file=='..')//存在逻辑子目录.和.. continue; if(is_dir($path.'/'.$file)){//函数is_dir(文件地址)判断文件是否为目录。 RemoveDir($path.'/'.$file); }else{ unlink($path.'/'.$file);//unlink(文件地址)删除某个文件。 } } closedir($dir_handle); return rmdir($path); } RemoveDir('./name');
相关推荐:
以上就是PHP中目录操作实例详解的详细内容,更多请关注其它相关文章!
下一篇: CSS Gird的布局详解