#!/usr/bin/php fetch(PDO::FETCH_ASSOC)) { $files = json_decode($post['files']); foreach ($files as $i => $f) { if ($f->file != 'deleted' && $f->file != 'spoiler' && $f->file != 'file'){ $valid_src[] = $f->file; $valid_thumb[] = $f->thumb; } } } $files_src = array_map('basename', glob($board['uri'] . "/" . $config['dir']['img'] . '*')); $files_thumb = array_map('basename', glob($board['uri'] . "/" . $config['dir']['thumb'] . '*')); $stray_src = array_diff($files_src, $valid_src); $stray_thumb = array_diff($files_thumb, $valid_thumb); $stats = array( 'deleted' => 0, 'size' => 0 ); foreach ($stray_src as $src) { $stats['deleted']++; $stats['size'] += filesize($board['uri'] . "/" . $config['dir']['img'] . $src); if (!file_unlink($board['uri'] . "/" . $config['dir']['img'] . $src)) { $er = error_get_last(); die("error: " . $er['message'] . "\n"); } } foreach ($stray_thumb as $thumb) { $stats['deleted']++; $stats['size'] += filesize($board['uri'] . "/" . $config['dir']['thumb'] . $thumb); if (!file_unlink($board['uri'] . "/" . $config['dir']['thumb'] . $thumb)) { $er = error_get_last(); die("error: " . $er['message'] . "\n"); } } echo sprintf("deleted %s files (%s)\n", $stats['deleted'], format_bytes($stats['size'])); }