Este código borra los directorios: subdirectorios y todo su contenido, haciendo uso de una sola función en PHP, esto con recursividad.
<?php set_time_limit(900); $folder = trim("\windows\ "); delete_folder(dirname(__FILE__) .$folder); function delete_folder($folder) { $folder_contents = get_folder_contents($folder); if ($folder_contents) { foreach ($folder_contents as $__content) { echo $__content['item'] .'<br />'; if (is_dir($__content['item'])) delete_folder($__content['item']); else unlink($__content['item']); } } rmdir($folder); } function get_folder_contents($folder) { if( !is_dir($folder) ) { return false; } $return_array = array(); $count = 0; if( $dh = opendir($folder) ) { while( ($file = readdir($dh)) !== false ) { if( $file == '.' || $file == '..' ) continue; $return_array[$count]['item'] = $folder .$file .(is_dir($folder .$file) ? DIRECTORY_SEPARATOR : ''); $count++; } closedir($dh); } return $return_array; } ?>
Advertencia: asegurate especificar un directorio solo para probar, sin datos importantes pues al ejecutar el script borra todo el contenido sin contemplaciones.
Vía Web Development