ich habe leider im media/image Verzeichnis ganz viele Bilder Leichen, zu welchen es keinen Media Eintrag in der DB gibt.
Wie dies zustande kam, kann ich leider nicht sagen. Leider kann ich den Ordner nicht einfach löschen, da sonst Bilder der Einkaufswelt und Co auch weg sind.
D.h. ich will alle Bilder löschen, welche keinen Datenbankeintrag haben.
Hier die Lösung. Ein Script in das Hauptverzeichnis von Shopware legen und dann ausführen.
Das Ganze ohne Gewähr. Funktioniert nur, wenn der Bildname gleich der Dateiname ist!
prepare("SELECT name FROM s_media WHERE name=?");
$statement->execute(array($fileNew));
$result = $statement->fetch();
if ($result === false ) {
//Bild wird gelöscht, kein Eintrag in s_media
unlink("$dir/$file");
var_dump("$dir/$file");
}
}
}
}
closedir($directory);
}
?>
Ich glaube die Lösung von ottscho ist für Shopware mit flysystem suboptimal. Die Lösung von ottscho kann m.E. nur greifen wenn alle Bilder in einem Verzeichnis.