/** * Delete a file or recursively delete a directory tree * * @param string $file_or_dir_name name of file or directory to delete * @return bool Returns TRUE on success, FALSE on failure */ function rm_file_or_dir ( $file_or_dir_name ) { if ( ! file_exists ( $file_or_dir_name ) ) { return false; } if ( is_file ( $file_or_dir_name ) || is_link ( $file_or_dir_name ) ) { return unlink ( $file_or_dir_name ); } $dir = dir ( $file_or_dir_name ); while ( ( $dir_entry = $dir->read () ) !== false ) { if ( $dir_entry == '.' || $dir_entry == '..') { continue; } rm_file_or_dir ( $file_or_dir_name . '/' . $dir_entry ); } $dir->close(); return rmdir ( $file_or_dir_name ); }
/** * remove temporary build directory * * @return bool true if removal is successful, false otherwise */ function rm_build_dir() { global $build_dir; global $keep_build_dir; if ($keep_build_dir !== true) { rm_file_or_dir($build_dir); } }