• 技术文章 >后端开发 >php教程

    PHP的unlink与rmdir删除目录及目录下所有文件方法

    小云云小云云2018-05-24 11:32:37原创18169
    在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.本文主要和大家介绍了PHP unlink与rmdir删除目录及目录下所有文件的实例代码,需要的朋友可以参考下,希望能帮助到大家。

    函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下:

    class shanchu { 
    //循环目录下的所有文件 
    function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” ) 
    { 
    if ( $handle = opendir( “$dirName” ) ) { 
    while ( false !== ( $item = readdir( $handle ) ) ) { 
    if ( $item != “.” && $item != “..” ) { 
    if ( is_dir( “$dirName/$item” ) ) { 
    delFileUnderDir( “$dirName/$item” ); 
    } else {//开源代码phpfensi.com 
    if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”; 
    } 
    } 
    } 
    closedir( $handle ); 
    } 
    } 
    }

    假设需要删除一个名叫”upload”目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:

    <?php delFileUnderDir( ‘upload');?>

    php删除所有目录,代码如下:

    function deltree($pathdir) 
    { 
    echo $pathdir;//调试时用的 
    if(is_empty_dir($pathdir))//如果是空的 
    { 
    rmdir($pathdir);//直接删除 
    } 
    else 
    {//否则读这个目录,除了.和..外 
    $d=dir($pathdir); 
    while($a=$d->read()) 
    { 
    if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);} 
    //如果是文件就直接删除 
    if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..')) 
    {//如果是目录 
    if(!is_empty_dir($pathdir.'/'.$a))//是否为空 
    {//如果不是,调用自身,不过是原来的路径+他下级的目录名 
    deltree($pathdir.'/'.$a); 
    } 
    if(is_empty_dir($pathdir.'/'.$a)) 
    {//如果是空就直接删除 
    rmdir($pathdir.'/'.$a); 
    } 
    } 
    } 
    $d->close(); 
    echo "必须先删除目录下的所有文件";//我调试时用的 
    } 
    } 
    function is_empty_dir($pathdir) 
    { 
    //判断目录是否为空 
    $d=opendir($pathdir); 
    $i=0; 
    while($a=readdir($d)) 
    { 
    $i++; 
    } 
    closedir($d); 
    if($i>2){return false;} 
    else return true; 
    }

    PHP删除目录及目录下所有文件,代码如下:

    <?php 
    //循环删除目录和文件函数 
    function delDirAndFile( $dirName ) 
    { 
    if ( $handle = opendir( “$dirName” ) ) { 
    while ( false !== ( $item = readdir( $handle ) ) ) { 
    if ( $item != “.” && $item != “..” ) { 
    if ( is_dir( “$dirName/$item” ) ) { 
    delDirAndFile( “$dirName/$item” ); 
    } else { 
    if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”; 
    } 
    } 
    } 
    closedir( $handle ); 
    if( rmdir( $dirName ) )echo “成功删除目录: $dirName<br />n”; 
    } 
    } 
    //假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成: 
    delDirAndFile( ‘upload'); 
    ?>

    相关推荐:

    PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用

    PHP unlink() 函数

    php中unlink()、mkdir()、rmdir()等的用法介绍

    以上就是PHP的unlink与rmdir删除目录及目录下所有文件方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:unlink rmdir php
    上一篇:php在windows环境下获得cpu内存实时使用率 下一篇:php如何删除一个路径下的所有文件和文件夹
    Web大前端开发直播班

    相关文章推荐

    • Follow your heart (113)-总算决定,边等人家做,边自学php了 • PHP时间戳函数小结一览 • php5戏法函数、魔术常量 • 帮小弟我完成上html的简单布局 • 打搅,问个简单的有关问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网