Files::delFolder PHP Method

delFolder() public method

Delete folder(s), can delete recursively.
public delFolder ( string $folder, boolean $recursive = false ) : boolean
$folder string the folder to be deleted.
$recursive boolean if true, all files and sub-directories are delete. If false, tries to delete the folder, can throw error if the directory is not empty.
return boolean true if deleted.
    function delFolder($folder, $recursive = false)
    {
        $deleted = true;
        if ($recursive) {
            $d = dir($folder);
            while (false !== ($entry = $d->read())) {
                if ($entry != '.' && $entry != '..') {
                    $obj = Files::fixPath($folder) . $entry;
                    //var_dump($obj);
                    if (is_file($obj)) {
                        $deleted &= Files::delFile($obj);
                    } else {
                        if (is_dir($obj)) {
                            $deleted &= Files::delFolder($obj, $recursive);
                        }
                    }
                }
            }
            $d->close();
        }
        //$folder= $folder.'/thumbs';
        //var_dump($folder);
        if (is_dir($folder)) {
            $deleted &= rmdir($folder);
        } else {
            $deleted &= false;
        }
        return $deleted;
    }

Usage Example

 /**
  * Delete directories recursively.
  * @param string $relative the relative path to be deleted.
  * @return boolean true if deleted, false otherwise.
  */
 function _delDir($relative)
 {
     $fullpath = Files::makePath($this->getImagesDir(), $relative);
     if ($this->countFiles($fullpath) <= 0) {
         return Files::delFolder($fullpath, true);
     } else {
         return false;
     }
 }
All Usage Examples Of Files::delFolder