Voici un script qui supprime un site WordPress. C’est une adaptation de Supprimer une boutique PrestaShop. Il suffit de le placer à la racine du site en FTP ou autre et de le visiter avec son navigateur.
⚠ Le script supprime le répertoire de WordPress avec tous ses fichiers et sous répertoires et toutes les tables de la base de données qui ont le préfixe de WordPress.
⚠⚠ Le script ne demande pas de confirmation. Vous le lancez, il supprime tout.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $root = dirname(__FILE__); $server = false; $user = false; $password = false; $database = false; $prefix = false; if (file_exists($root.'/wp-config.php')) { include $root.'/wp-config.php'; $server = DB_HOST; $user = DB_USER; $password = DB_PASSWORD; $database = DB_NAME; $prefix = $table_prefix; } else { die(); } if (!$server || !$user || !$password || !$database || !$prefix) { die(); } dropTables($server, $user, $password, $database, $prefix); rrmdir($root); // https://stackoverflow.com/questions/1589278/sql-deleting-tables-with-prefix#1589324 // https://stackoverflow.com/a/10664265/2530962 function dropTables($server, $user, $password, $database, $prefix) { $link = mysqli_connect($server, $user, $password, $database); $query = 'SET SESSION group_concat_max_len = 999999999; SELECT CONCAT( \'DROP TABLE \', GROUP_CONCAT(table_name) , \';\' ) AS statement FROM information_schema.tables WHERE table_schema = \''.mysqli_real_escape_string($link, $database).'\' AND table_name LIKE \''.mysqli_real_escape_string($link, $prefix).'%\';'; if (mysqli_multi_query($link, $query)) { do { if ($result = mysqli_store_result($link)) { while ($row = mysqli_fetch_array($result)) { $drop_query = $row[0]; } mysqli_free_result($result); } } while (mysqli_more_results($link) && mysqli_next_result($link)); } echo 'MySQL "'.$drop_query.'"<br/>'; mysqli_query($link, $drop_query); } // https://stackoverflow.com/questions/3338123/how-do-i-recursively-delete-a-directory-and-its-entire-contents-files-sub-dir#3338133 function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { if (is_dir($dir."/".$object)) { rrmdir($dir."/".$object); } else { echo 'Delete '.$dir."/".$object.' '; if (unlink($dir."/".$object)) { echo 'OK'; } else { echo 'ERROR'; } echo '<br/>'; } } } echo 'Delete '.$dir.' '; if (rmdir($dir)) { echo 'OK'; } else { echo 'ERROR'; } echo '<br/>'; } } |