Это может вызвать проблемы, потому что вызов RemoveEmptySubFolders
несколько раз может привести к ошибкам, потому что каждый раз, когда вы вызываете функцию, остальные 2 функции определяются снова. Если они уже определены, PHP выдаст ошибку, сообщив, что функция с таким же именем уже определена.
Вместо этого попробуйте это рекурсивно:
function removeEmptySubfolders($path){
if(substr($path,-1)!= DIRECTORY_SEPARATOR){
$path .= DIRECTORY_SEPARATOR;
}
$d2 = array('.','..');
$dirs = array_diff(glob($path.'*', GLOB_ONLYDIR),$d2);
foreach($dirs as $d){
removeEmptySubfolders($d);
}
if(count(array_diff(glob($path.'*'),$d2))===0){
rmdir($path);
}
}
Проверено, работает хорошо. Windows 7 PHP 5.3.0 XAMPP