paulomartinhago
5/2/2013 - 8:13 PM

Método para deletar folders e arquivos em recursividade.

Método para deletar folders e arquivos em recursividade.

<?php

function deleteAll($directory, $empty = false) {
    if(substr($directory,-1) == "/") {
		$directory = substr($directory,0,-1);
	}

	if(!file_exists($directory) || !is_dir($directory)) {
		return false;
	} elseif(!is_readable($directory)) {
		return false;
	} else {
		$directoryHandle = opendir($directory);
	   
		while ($contents = readdir($directoryHandle)) {
			if($contents != '.' && $contents != '..') {
				$path = $directory . "/" . $contents;
			   
				if(is_dir($path)) {
					deleteAll($path);
				} else {
					unlink($path);
				}
			}
		}
	   
		closedir($directoryHandle);

		if($empty == false) {
			if(!rmdir($directory)) {
				return false;
			}
		}
	   
		return true;
	}
}