А ты уверен, что $folder['seo'] приходит не пустой при вызове данного метода?
Потому как, я попробовал твой код у себя инициализировать, удалило только конечную директорию с файлами, которую я указал в параметрах по дефолту (в примере ниже только директорию folder и все что внутри неё)
public function deleteDir($dirPath = 'images/company/folder/')
{
if (! is_dir($dirPath)) {
throw new Exception("$dirPath must be a directory");
}
if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') {
$dirPath .= '/';
}
echo $dirPath;
$files = glob($dirPath . '*', GLOB_MARK);
var_dump($files);
foreach ($files as $file) {
if (is_dir($file)) {
$this->deleteDir($file);
} else {
unlink($file);
}
}
rmdir($dirPath);
}