您的位置:首页 > 编程语言 > PHP开发

如何运用php函数mkdir创建多级目录

2011-12-02 14:03 246 查看
当我们想在自己的网站上添加多级目录时,可以使用php函数mkdir来实现这以功能。下面我们将会为大家详细介绍php函数mkdir的具体含义,希望对有这方面需求的朋友有所帮助。

  php函数mkdir参数与描述

  path 必需。规定要创建的目录的名称。

  mode 必需。规定权限。默认是 0777。

  recursive 必需。规定是否设置递归模式。

  context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。

  说明

  php函数mkdir 尝试新建一个由 path 指定的目录。

  默认的 mode 是 0777,意味着最大可能的访问权。

  php默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建 div/css/layout,然而我们希望能让程序自动帮我们完成这个过程。

  其实思路也很简单,1.先判断 div目录是否存在,不存在则创建;2.判断子目录 div/css 是否存在,不能存在则创建,3.在第二步中以子目录作为参数递归调用函数本身。也可以按相反顺序来,1.先判断最底层目录div/css/layout是否存在;2.判断div/css/layout的上层目录div/css是否存在,不存在则以div/css作为参数递归进行。。

 下面是php函数mkdir的程序代码:

<?
function mkdirs($dir)
{
if(!is_dir($dir))
{
if(!mkdirs(dirname($dir)))
{  return false;
}
if(!mkdir($dir,0777))
{
return false;
}
}
return true;
}
mkdirs('div/css/layout');  //同样的思路,php用rmdir和unlink递归删除多级目录的代码:
function rmdirs($dir)
{  $d = dir($dir);
while (false !== ($child = $d->read()))
{  if($child != '.' && $child != '..')
{  if(is_dir($dir.'/'.$child))  rmdirs($dir.'/'.$child);  else unlink($dir.'/'.$child);
}
}  $d->close();  rmdir($dir);
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: