首页  >  文章  >  后端开发  >  PHP中目录操作实例详解

PHP中目录操作实例详解

小云云
小云云原创
2018-03-31 09:13:151289浏览

本文主要和大家分享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(&#39;utf-8&#39;,&#39;gbk&#39;,$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==&#39;.&#39;||$file==&#39;..&#39;)//存在逻辑子目录.和..
				continue;
			if(is_dir($path.&#39;/&#39;.$file)){//函数is_dir(文件地址)判断文件是否为目录。
				RemoveDir($path.&#39;/&#39;.$file);
			}else{
				unlink($path.&#39;/&#39;.$file);//unlink(文件地址)删除某个文件。
			}
		}
		closedir($dir_handle);
		return rmdir($path);
	}
	RemoveDir(&#39;./name&#39;);

相关推荐:

php中目录操作函数(删除,创建,判断)_PHP教程

以上是PHP中目录操作实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn