Tickcount хорош, однако я предлагаю выполнить его 100 или 1000 раз и вычислить среднее число. Не только делает его более измеримым - в случае действительно быстрых/коротких функций, но помогает контакту с некоторыми одноразовыми эффектами, вызванными издержками.
Это рекурсивная функция, которую я создал / изменил, и она, похоже, наконец-то работает. Надеюсь, в нем нет ничего слишком опасного.
function destroy_dir($dir) {
if (!is_dir($dir) || is_link($dir)) return unlink($dir);
foreach (scandir($dir) as $file) {
if ($file == '.' || $file == '..') continue;
if (!destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) {
chmod($dir . DIRECTORY_SEPARATOR . $file, 0777);
if (!destroy_dir($dir . DIRECTORY_SEPARATOR . $file)) return false;
};
}
return rmdir($dir);
}