Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Recursively delete a folder including all it's files and subfolders
- // https://stackoverflow.com/a/18838141/701049
- function recurseRmdir($dir)
- {
- $files = array_diff(scandir($dir), array('.','..'));
- foreach ($files as $file) {
- (is_dir("$dir/$file") && !is_link("$dir/$file"))
- ? recurseRmdir("$dir/$file") : unlink("$dir/$file");
- }
- return rmdir($dir);
- }
- global $wpdb;
- $user_ids = array_column(
- $wpdb->get_results('SELECT ID FROM ' . $wpdb->prefix . 'users', ARRAY_A),
- 'ID'
- );
- $basefolders = array(
- trailingslashit(WP_CONTENT_DIR) . 'uploads/avatars/',
- trailingslashit(WP_CONTENT_DIR) . 'uploads/buddypress/members/'
- );
- foreach($basefolders as $base)
- {
- $uid_folders = array_diff(scandir($base), array('.', '..'));
- foreach($uid_folders as $uid)
- {
- if(is_numeric($uid) && is_dir($base .'/'. $uid) && !in_array($uid, $user_ids)) {
- recurseRmdir($base .'/'. $uid);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment