kullanılan tema malumunuz birçok gereksiz resim oluşturur . başka bir temaya geçince bu resimlerin çoğu sunucuda gereksiz yer işgal eder aşağıda paylaştığım dosya bu dosyaları bulup silmemeye yarar.
kullanımı.
ilk önce resimlerinizin yedeğini alın !
yeni tema yüklenince kullanılmayan resimleri tespit edin
bunların adlarını bir yere not alın örnek resim-100x200.jpg
aşağıda verdiğim kodu sunucunuzun /wp-content/uploads/ klasörüne sil.php adı ile kayıt edin .
kullanıcı adı şifre kodun içinde yazıyor değiştirin
giriş yapın ve not aldığınız kalıntı resimlerin ismini aratın ve silin
Örnek: resim-100x200.jpg diyelim resimleriniz var arama kısmına 100x200 yazıp ve aratırsanız içinde 100x200 olan tüm resimler listelenecektir
Not: güvenliğiniz için bu dosyayı sunucunuzda işiniz bitince silin...
<?php
session_start();
if(isset($_POST['logout'])) {
session_destroy();
header('Location: ' . $_SERVER['PHP_SELF']);
}
// üye giriş işlemi
if(isset($_POST['login'])) {
$username = 'kullanıcı'; // kullanıcı adı
$password = 'şifre'; // şifre
if($_POST['username'] == $username && $_POST['password'] == $password) {
$_SESSION['logged_in'] = true;
header('Location: ' . $_SERVER['PHP_SELF']);
} else {
echo '<div class="alert-gir">';
echo '<p>Kullanıcı adı veya şifre hatalı.</p>';
echo '</div>';
}
}
if(isset($_SESSION['logged_in'])) {
echo '<div class="logout-form">';
echo '<p>Hoş geldiniz, kullanıcı!</p>';
echo '<form method="POST" >';
echo '<button type="submit" name="logout">Çıkış Yap</button>';
echo '</form>';
echo '</div>';
echo '<div class="search-form">';
echo '<form method="POST" >';
echo ' <input type="text" name="search" id="search" placeholder="Dosya Ara">';
echo ' <button type="submit" name="ara">Ara</button>';
echo '</form>';
echo '</div>';
} else {
echo '<div class="giris-form">';
echo '<form method="POST">';
echo '<input type="text" name="username" placeholder="Kullanıcı Adı">';
echo '<input type="password" name="password" placeholder="Şifre">';
echo '<button type="submit" name="login">Giriş Yap</button>';
echo '</form>';
echo '</div>';
}
?>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f5f5f5;
}
table {
width: 100%;
border-collapse: collapse;
margin: 20px auto;
background-color: white;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
th, td {
padding: 3px;
text-align: left;
border: 1px solid #ddd;
}
th {
background-color: #008CBA;
color: white;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
.alert {
padding: 13px;
background-color: #f8d7da;
color: #721c24;
margin-bottom: 15px;
background-image: url('https://cdn1.iconfinder.com/data/icons/ionicons-outline-vol-2/512/warning-outline-20.png');
background-repeat: no-repeat;
background-position: 10px center;
background-size: 20px 20px;
padding-left: 40px;
}
.alert p {
margin: 0;
font-size: 15px;
font-weight: bold;
}
.alert-gir {
background-image: url('https://cdn1.iconfinder.com/data/icons/ionicons-outline-vol-2/512/warning-outline-20.png');
background-repeat: no-repeat;
background-position: 10px center;
background-size: 20px 20px;
background-color: #f8d7da;
color: #721c24;
padding: 10px;
margin-bottom: 20px;
border: 1px solid #f5c6cb;
border-radius: 5px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.alert-gir p {
margin: 0;
text-align: center;
}
/* Giriş Form*/
.giris-form {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 20px;
}
.giris-form input {
width: 100%;
padding: 10px;
margin: 5px;
border: none;
border-radius: 5px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.giris-form button {
width: 100%;
background-color: #0077cc;
color: #fff;
padding: 10px;
margin: 5px;
border: none;
border-radius: 5px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.giris-form button:hover {
background-color: #115dc6;
}
/* Çıkış Formu*/
.logout-form {
display: flex;
align-items: center;
}
.logout-form p {
margin-right: 20px;
font-size: 16px;
font-weight: bold;
color: #333;
display: flex;
}
.logout-form button {
padding: 5px;
border: none;
background-color: #0077cc;
color: #fff;
cursor: pointer;
border-radius: 5px;
margin: 10px 0;
}
.logout-form button:hover {
background-color: #115dc6;
}
/* ara Formu*/
.search-form {
margin: 0 auto;
text-align: center;
}
.search-form input[type="text"] {
width: 300px;
padding: 10px;
font-size: 16px;
border: none;
border-radius: 5px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.search-form button[type="submit"] {
margin-left: 10px; /* Boşluk */
padding: 0.5rem 1rem;
border: none;
border-radius: 4px;
background-color: #0077cc;
color: #fff;
font-size: 1rem;
}
.search-form button:hover {
background-color: #115dc6;
}
/* buton grup*/
.button-group {
display: flex;
justify-content: flex-start;
}
.button-group button {
margin: 0 10px;
padding: 10px;
border: none;
background-color: #008CBA;
color: #fff;
cursor: pointer;
border-radius: 5px
}
.button-group button:hover {
background-color: #115dc6;
}
</style>
<?php
if(isset($_POST['search'])) {
$search_term = $_POST['search'];
$dir = '.';
$files = search_files($dir, $search_term);
$num_results = count($files);
$total_size = 0;
foreach($files as $file) {
$total_size += filesize($file);
}
$total_size_formatted = format_file_size($total_size);
echo '<div class="alert">';
echo "<p>$num_results sonuç bulundu. Toplam $total_size_formatted </p>";
echo '</div>';
if($num_results > 0) {
echo "<form method='POST'>";
echo '<div class="button-group">';
echo "<button type='button' onclick='selectAll()'>Tümünü Seç</button>";
echo "<button type='button' onclick='unselectAll()'>Seçimi Kaldır</button>";
echo "<button type='submit' name='delete_selected'>Sil</button>";
echo "</div>";
echo "<table>";
echo "<thead><tr><th>Sil</th><th>Dosya Adı</th><th>Boyut</th></tr></thead><tbody>";
foreach($files as $file) {
$file_type = is_dir($file) ? 'Klasör' : 'Dosya';
$file_size = filesize($file);
$file_size_formatted = format_file_size($file_size);
echo "<tr><td><input type='checkbox' name='delete[]' value='$file'></td><td><a href='$file' target='_blank'>$file</a></td><td>$file_size_formatted</td>
</tr>";
}
echo "</tbody></table>";
echo '<div class="button-group">';
echo "<button type='button' onclick='selectAll()'>Tümünü Seç</button>";
echo "<button type='button' onclick='unselectAll()'>Seçimi Kaldır</button>";
echo "<button type='submit' name='delete_selected'>Sil</button>";
echo "</div>";
echo "</form>";
}
}
function format_file_size($bytes) {
$sizes = array('Bytes', 'KB', 'MB', 'GB', 'TB');
if ($bytes == 0) return 'n/a';
$i = floor(log($bytes) / log(1024));
return round($bytes / pow(1024, $i), 2) . ' ' . $sizes[$i];
}
if(isset($_POST['delete_selected'])) {
$files_to_delete = $_POST['delete'];
$num_deleted_files = 0;
$total_deleted_size = 0;
if(!empty($files_to_delete)) {
foreach($files_to_delete as $file) {
if(is_file($file)) {
$file_size = filesize($file);
if(unlink($file)) {
$num_deleted_files++;
$total_deleted_size += $file_size;
}
} else {
list($deleted_files, $deleted_size) = delete_directory($file);
$num_deleted_files += $deleted_files;
$total_deleted_size += $deleted_size;
}
}
echo '<div class="alert">';
echo "<p>$num_deleted_files dosya başarıyla silindi. Toplam silinen boyut: " . format_size($total_deleted_size) . "</p>";
echo '</div>';
}
}
function search_files($dir, $search_term) {
$results = array();
$files = scandir($dir);
foreach($files as $file) {
if($file == '.' || $file == '..') continue;
$path = $dir . '/' . $file;
if(is_dir($path)) {
$results = array_merge($results, search_files($path, $search_term));
} else {
if(strpos($file, $search_term) !== false) {
$results[] = $path;
}
}
}
return $results;
}
function delete_directory($dir) {
$num_deleted_files = 0;
$total_deleted_size = 0;
if(is_dir($dir)) {
$objects = scandir($dir);
foreach($objects as $object) {
if($object != '.' && $object != '..') {
$path = $dir . '/' . $object;
if(is_dir($path)) {
list($deleted_files, $deleted_size) = delete_directory($path);
$num_deleted_files += $deleted_files;
$total_deleted_size += $deleted_size;
} else {
$file_size = filesize($path);
if(unlink($path)) {
$num_deleted_files++;
$total_deleted_size += $file_size;
}
}
}
}
if(rmdir($dir)) {
$num_deleted_files++;
}
}
return array($num_deleted_files, $total_deleted_size);
}
function format_size($size) {
$units = array('B', 'KB', 'MB', 'GB', 'TB');
$i = 0;
while($size > 1024) {
$size /= 1024;
$i++;
}
return round($size, 2) . ' ' . $units[$i];
}
?>
<script>
function selectAll() {
var checkboxes = document.getElementsByName('delete[]');
for(var i=0; i<checkboxes.length; i++) {
checkboxes[i].checked = true;
}
}
function unselectAll() {
var checkboxes = document.getElementsByName('delete[]');
for(var i=0; i<checkboxes.length; i++) {
checkboxes[i].checked = false;
}
}
</script>