search

Home  >  Q&A  >  body text

PHP如何删除一个文件夹下面的所有的文件?

求教。但是不能将原来的文件夹删除,只能删除文件

阿神阿神2901 days ago508

reply all(4)I'll reply

  • 高洛峰

    高洛峰2017-04-10 14:58:31

    上面提供的几个都是linux命令行吧,我提供一个纯PHP的代码
    一句话删除目录下所有文件

    array_map('unlink', glob('*'));
    

    来自 乱炖 - 研究web
    http://levi.cg.am/archives/3524

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:58:31

    /**
    * 删除目录(包括下面的文件)
    * @return void
    */
    function del_directory($directory,$subdir=true){
    if (is_dir($directory) == false){
    exit("The Directory Is Not Exist!");
    }
    $handle = opendir($directory);
    while (($file = readdir($handle)) !== false){
    if ($file != "." && $file != ".."){
    is_dir("$directory/$file")?
    del_directory("$directory/$file"):
    unlink("$directory/$file");
    }
    }
    if (readdir($handle) == false){
    closedir($handle);
    rmdir($directory);
    }
    }

    /**
    * 删除目录下面的所有文件,但不删除目录
    * @return void
    */
    function del_directory_file($directory){
    if (is_dir($directory) == false){
    exit("The Directory Is Not Exist!");
    }
    $handle = opendir($directory);
    while (($file = readdir($handle)) !== false){
    if ($file != "." && $file != ".." && is_file("$directory/$file")){
    unlink("$directory/$file");
    }
    }
    closedir($handle);
    }

    reply
    0
  • PHPz

    PHPz2017-04-10 14:58:31

    可不可以删除了那个文件夹然后再建立一个同名的文件夹(反正你都是删除所有文件了,当然你得注意权限是否够)?如果不行的话看看下面这篇博文:
    http://cgxcn.blog.163.com/blog/static/13231242200931792027965/

    多利用搜索引擎啊,这些问题都是很容易在互联网上找到的,没必要来这里问了。

    reply
    0
  • 黄舟

    黄舟2017-04-10 14:58:31

    <?php system('find $DIR -type f -delete'); ?>
    

    哼,还被踩了一下。。。
    这种事本来就不应该交给PHP去做啊。。。为什么用命令行就要被踩!不嗨森

    reply
    0
  • Cancelreply