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(目录句柄);

实例:递归删除文件
";
		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,PHP学习)