SHOW:
|
|
- or go back to the newest paste.
| 1 | // Recursively delete a folder including all it's files and subfolders | |
| 2 | // https://stackoverflow.com/a/18838141/701049 | |
| 3 | function recurseRmdir($dir) | |
| 4 | {
| |
| 5 | $files = array_diff(scandir($dir), array('.','..'));
| |
| 6 | foreach ($files as $file) {
| |
| 7 | (is_dir("$dir/$file") && !is_link("$dir/$file"))
| |
| 8 | ? recurseRmdir("$dir/$file") : unlink("$dir/$file");
| |
| 9 | } | |
| 10 | return rmdir($dir); | |
| 11 | } | |
| 12 | ||
| 13 | global $wpdb; | |
| 14 | $user_ids = array_column( | |
| 15 | $wpdb->get_results('SELECT ID FROM ' . $wpdb->prefix . 'users', ARRAY_A),
| |
| 16 | 'ID' | |
| 17 | ); | |
| 18 | $basefolders = array( | |
| 19 | trailingslashit(WP_CONTENT_DIR) . 'uploads/avatars/', | |
| 20 | trailingslashit(WP_CONTENT_DIR) . 'uploads/buddypress/members/' | |
| 21 | ); | |
| 22 | foreach($basefolders as $base) | |
| 23 | {
| |
| 24 | $uid_folders = array_diff(scandir($base), array('.', '..'));
| |
| 25 | foreach($uid_folders as $uid) | |
| 26 | {
| |
| 27 | if(is_numeric($uid) && is_dir($base .'/'. $uid) && !in_array($uid, $user_ids)) {
| |
| 28 | recurseRmdir($base .'/'. $uid); | |
| 29 | } | |
| 30 | } | |
| 31 | } | |
| 32 |