Home > php教程 > PHP源码 > body text

php中创建多级目录与删除多级目录和文件

WBOY
Release: 2016-06-08 17:24:49
Original
1082 people have browsed it

在php中要实现简单的目录创建和删除分别利用mkdir和rmdir这有点像dos中的命令了,但如果我要创建多级目录或删除多级目录中的文件和目录则需要递归来实例了。

<script>ec(2);</script>

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'); 


创建多级目录更标准的方法

 代码如下 复制代码

//检查并创建多级目录
    function checkDir($path){
        $pathArray = explode('/',$path);
        $nowPath = '';
        array_pop($pathArray);
        foreach ($pathArray as $key=>$value){
            if ( ''==$value ){
                unset($pathArray[$key]);
            }else{
                if ( $key == 0 )
                    $nowPath .= $value;
                else
                    $nowPath .= '/'.$value;
                if ( !is_dir($nowPath) ){
                    if ( !mkdir($nowPath, 0777) ) return false;
                }
            }
        }
        return true;
    }

删除多级目录方法

在winxp下测试成功,只要php文件编码为gb2312,文件名随意,应该把文件名改为编码为gb2312,就行,没测

 代码如下 复制代码

header("Content-Type:text/html; charset=gb2312");
if(deleteDir('./复件 复件 复件 复件 复件 复件 复件 复件 复件 复件 复件 aaa'))
echo "删除成功";
function deleteDir($dir)
{
if (@rmdir($dir)==false && is_dir($dir)) //删除不了,进入删除所有文件
{
if ($dp = opendir($dir))
{
while (($file=readdir($dp)) != false)
{
if($file!='.' && $file!='..')
{ //echo $file=$dir.'/'.$file;echo '
';
$file=$dir.'/'.$file;
if (is_dir($file)) //是真实目录
{
deleteDir($file);
}else {
unlink($file);
}
}
}
closedir($dp);
}else
{
return false;
}
}
if (is_dir($dir) && @rmdir($dir)==false) //是目录删除不了
return false;
return true;
}
?>

递归删除多级目录

同样的思路,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);
}

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!