在php中删除目录中的文件夹和文件

时间:2015-04-16 11:45:34

标签: php

我正在尝试找到一种方法来删除位于另一个文件夹内的文件夹(例如帐户/用户名 - 我想删除用户名,但它里面有2个文件夹(1个名称图像和其他命名视频) - 里面有文件。

我试过了

$accounts = "accounts";
$uploaddir = "$username";
$image_dir = 'image';
$video_dir = 'video';

$image_folder = "$accounts$username$image_dir/";
$uploadfile = $image_folder . basename($_FILES['image']['name']);

$dir = "$accounts/$uploaddir";
array_map('unlink', glob($dir."/*"));
rmdir($dir);

3 个答案:

答案 0 :(得分:1)

关键功能:取消链接文件, scandir rmdir ,但您需要扫描该目录中的所有内容并做相应的操作

1.关于文件的情况 2.使用is_dir()函数删除目录的大小写。

<?php
  function deleteDir($dir) {
  if (is_dir($dir)) {
    $objects = scandir($dir);
    foreach ($objects as $object) {
      if ($object != "." && $object != "..") {
        if (filetype($dir."/".$object) == "dir") 
           deleteDir($dir."/".$object); 
        else unlink   ($dir."/".$object);
      }
    }
    reset($objects);
    rmdir($dir);
  }
 }
?>

onyour case:

$dir = "$accounts/$uploaddir";
deleteDir($dir);

干杯!

答案 1 :(得分:1)

您可以使用以下功能

unlink(file_path);

您可以删除完整的文件夹/文件。参考http://php.net/manual/en/function.unlink.php

由于 阿米特

答案 2 :(得分:0)

这是功能,我一直都在使用:

function delete_directory($dirname) {
   if (is_dir($dirname))
      $dir_handle = opendir($dirname);

   if (!$dir_handle)
      return false;
   while($file = readdir($dir_handle)) {
      if ($file != "." && $file != "..") {
         if (!is_dir($dirname."/".$file))
            unlink($dirname."/".$file);
         else
            delete_directory($dirname.'/'.$file);    
      }
   }
   closedir($dir_handle);
   rmdir($dirname);
   return true;
}