Raketenwilli: PHP: Verzeichnis rekursiv löschen (neue Version, Diskussion)

Beitrag lesen

Jetzt bekomme ich „Haue“.😇

Weil bei Massenhostern exec verboten sein könnte.

<?php
function rmdirRecursiveBrutal(
	$dir,
	$errorType = E_USER_ERROR
) {

    if ( is_dir( $dir ) ) {
        if ( strtoupper( substr( PHP_OS, 0, 3 ) ) === 'WIN') {
            exec ( 'rmdir ' . escapeshellarg( $dir ) . ' /s', $dummy, $result );
        } else {
            exec ( 'rm -rf ' . escapeshellarg( $dir ), $dummy, $result);
        }
        if  (  0 === $result ) {
			return true;
		} else {
			trigger_error( 
				"'$dir' konnte nicht gelöscht werden.",
				$errorType
			);
			return false;
		}
    } else {
        trigger_error( 
            "'$dir' existiert nicht oder ist kein Verzeichnis.",
            $errorType
        );
    }
}

Hinweis: MacOS, Linux, *BSD und alle mir bekannten Unixe kennen rm -rf.