Incam_PROFIND_Web/www/protected/helpers/GHelper.php

49 lines
1.3 KiB
PHP
Raw Normal View History

<?php
/**
* @class GHelper
* @brief Clase con funciones generales de ayuda.
*
* @package application.helpers
*/
class GHelper {
/**
* @brief Borrado recursivo de un directorio y su contenido
*
* @param string directorio
* @param boolean Si es TRUE vacía el directorio pero no elimina
* @return boolean
*/
public static function recursiveRemoveDirectory($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)) {
$handle = opendir($directory);
while (FALSE !== ($item = readdir($handle))) {
if ($item != '.' && $item != '..') {
$path = $directory . '/' . $item;
if (is_dir($path)) {
recursive_remove_directory($path);
} else {
unlink($path);
}
}
}
closedir($handle);
if ($empty == FALSE) {
if (!rmdir($directory)) {
return FALSE;
}
}
}
return TRUE;
}
}
?>