Функция RDir рекурсивно удаляет паку, т.е. удаляет саму папку, а также все подпапки и файлы находящиеся в ней.
Ниже привожу код функции с комментариями:
function RDir( $path ) { // если путь существует и это папка if ( file_exists( $path ) AND is_dir( $path ) ) { // открываем папку $dir = opendir($path); while ( false !== ( $element = readdir( $dir ) ) ) { // удаляем только содержимое папки if ( $element != '.' AND $element != '..' ) { $tmp = $path . '/' . $element; chmod( $tmp, 0777 ); // если элемент является папкой, то // удаляем его используя нашу функцию RDir if ( is_dir( $tmp ) ) { RDir( $tmp ); // если элемент является файлом, то удаляем файл } else { unlink( $tmp ); } } } // закрываем папку closedir($dir); // удаляем саму папку if ( file_exists( $path ) ) { rmdir( $path ); } } }
Пример использования:
$dir = $_SERVER['DOCUMENT_ROOT'] . '/example'; RDir( $dir );
RDir( $_SERVER['DOCUMENT_ROOT']. '/example' );
RDir( $_SERVER['DOCUMENT_ROOT']. '/example2' );