log->error("\nThis script will check all images in covers/book and compare to db->bookinfo.\nTo run:\nphp $argv[0] true\n")); } $path2covers = NN_COVERS . 'book' . DS; $dirItr = new \RecursiveDirectoryIterator($path2covers); $itr = new \RecursiveIteratorIterator($dirItr, \RecursiveIteratorIterator::LEAVES_ONLY); foreach ($itr as $filePath) { if (is_file($filePath) && preg_match('/\d+\.jpg/', $filePath)) { preg_match('/(\d+)\.jpg/', basename($filePath), $match); if (isset($match[1])) { $run = $pdo->queryDirect("UPDATE bookinfo SET cover = 1 WHERE cover = 0 AND id = " . $match[1]); if ($run->rowCount() >= 1) { $covers++; } else { $run = $pdo->queryDirect("SELECT id FROM bookinfo WHERE id = " . $match[1]); if ($run->rowCount() == 0) { echo $pdo->log->info($filePath . " not found in db."); } } } } } $qry = $pdo->queryDirect("SELECT id FROM bookinfo WHERE cover = 1"); if ($qry instanceof \Traversable) { foreach ($qry as $rows) { if (!is_file($path2covers . $rows['id'] . '.jpg')) { $pdo->queryDirect("UPDATE bookinfo SET cover = 0 WHERE cover = 1 AND id = " . $rows['id']); echo $pdo->log->info($path2covers . $rows['id'] . ".jpg does not exist."); $deleted++; } } } echo $pdo->log->header($covers . " covers set."); echo $pdo->log->header($deleted . " books unset.");