Коротка функція, яка виконує роботу:
function deleteDir($path) {
return is_file($path) ?
@unlink($path) :
array_map(__FUNCTION__, glob($path.'/*')) == @rmdir($path);
}
Я використовую його в класі Utils так:
class Utils {
public static function deleteDir($path) {
$class_func = array(__CLASS__, __FUNCTION__);
return is_file($path) ?
@unlink($path) :
array_map($class_func, glob($path.'/*')) == @rmdir($path);
}
}
З великою потужністю покладається велика відповідальність : Коли ви викликаєте цю функцію з порожнім значенням, вона видалить файли, що починаються з root ( /
). В якості гарантії ви можете перевірити, чи шлях порожній:
function deleteDir($path) {
if (empty($path)) {
return false;
}
return is_file($path) ?
@unlink($path) :
array_map(__FUNCTION__, glob($path.'/*')) == @rmdir($path);
}