Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Überflüssige Produktbilder löschen

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    MODUL: Überflüssige Produktbilder löschen
    am: 17. September 2009, 15:25:59
    Hallo,

    kennt Ihr zufällig ein Modul o.ä. das überflüssige Bilder am Server löscht, wenn in der Datenbank kein Bezug mehr dazu vorhanden ist ?
    Also wenn kein Produkt das Bild nutzt, dann soll das Bild vom Server gelöscht werden.

    Hintergrund: Ich krieg CDs mit CSV-Daten und Bildern. CSV samt Bildpfad importiere ich mit JTL-Wawi, da man bei 1000 Produkten sonst Tage dran sitzen würde, die Bilder einzeln hochzuladen.
    Da aber nicht alle Produkte des Lieferanten in den Shop sollen, wären hunderte Bilder verwaist bzw. ungenutzt, das muss dann auch nicht sein @Speicherplatz.

    Jetzt fallen mir nur zwei Möglichkeiten ein:
    - entweder ne Software, die überflüssige Bilder löscht
    - oder manuell die benötigten Bilder zum FTP-Upload einzeln selektieren, was auch viele Stunden dauern würde.

    Wie macht Ihr das ?

    [EDIT Tomcraft 06.01.2011: Hier geht es direkt zum Modul von franky_n.]



    Linkback: https://www.modified-shop.org/forum/index.php?topic=2051.0

    zub

    • Schreiberling
    • Beiträge: 401
    MODUL: Überflüssige Produktbilder löschen
    Antwort #1 am: 17. September 2009, 16:36:04
    ich importiere die Bilder auf gleiche Weise wie Du und habe mir jetzt einen Zeitraum
    von 4-5 Wochen gesetzt, alle Bilder die älter sind werden dann gelöscht.
    Funktioniert soweit ganz gut, ab und an erwischt es mal eine Ladenhüter der ohne Bild
    da steht aber sonst alles o.k.

    MfG
    Waldemar

    speedy

    • Viel Schreiber
    • Beiträge: 3.214
    MODUL: Überflüssige Produktbilder löschen
    Antwort #2 am: 17. September 2009, 16:38:22
    Danke Waldemar für deine Nachricht.

    Hab grad ne Möglichkeit über JTL-Wawi gefunden.
    Der Bild-Import sucht sich anhand der Artikelnummer und ner extra CSV-Datei die Bilddateien zusammen.

    Ne kleine Hürde ist evtl. noch das hier für den ein oder anderen, wenn man sich nicht nen Wolf tippen will ;)
    Wenns wer braucht, die Dateiendung z.B. .jpg kann man mittels der Funktion

    Code: PHP  [Auswählen]
    =VERKETTEN(...;...;...)
    an den Dateinamen (=Artikelnummer) anhängen.
    Geht somit dann alles ohne lästige Tipparbeit, nur etwas Copy & Paste und Excel-Formeln

    Voraussetzung ist nur der Hersteller / Lieferant schickt gute Daten als Excel oder CSV. :)

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #3 am: 05. Januar 2011, 11:58:43
    Gibt es noch eine Lösung ohne den JTL um die "überflüssigen" Bilder im "/images/" Ordner zu löschen, die nicht benötigt werden?

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #4 am: 05. Januar 2011, 14:59:58
    Man müsste dafür ein kleines PHP-Script schreiben, was in der DB nachschaut, ob das Bild einem Artikel zugeordnet ist und wenn nicht, dann löschen.

    Jetzt brauchen wir nur noch einen Freiwilligen. :D

    Grüße

    Torsten

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #5 am: 05. Januar 2011, 17:49:07
    Hat jemand vielleicht eine Idee wie man sonst noch alle überflüssigen Bilder aus dem Ordner:

    domain.de/images/product_images/

    löschen kann, die nicht benötigt werden?

    Kann man aus der MySQL Datenbank alle Bilder ausgeben die verwendet werden?

    Habe im Ordner (product_images) ca. 24.000 Bilder, aber nur 9.800 Produkte im Shop. Da sollte man schon mal ein bisschen ausmisten! :?

    h-h-h

    • modified Team
    • Beiträge: 4.562
    MODUL: Überflüssige Produktbilder löschen
    Antwort #6 am: 05. Januar 2011, 19:10:58
    Das Script ist fast fertig, werde es vielleicht später mal posten.

    Gruß

    h-h-h

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #7 am: 05. Januar 2011, 19:13:28
    Prima h-h-h! :thx:

    Das könnten wir vielleicht als "Wartungs-Tool" unter "Hilfsprogramme" unterbringen. ;-)

    Grüße

    Torsten

    franky_n

    • Experte
    • Beiträge: 4.950
    MODUL: Überflüssige Produktbilder löschen
    Antwort #8 am: 05. Januar 2011, 19:31:23
    Hallo h-h-h,

    ok das ist jetzt ein wenig doof.
    Ich habe auch schon angefangen... naja.
    Hier mal meins zum Testen!

    Viele Grüße

    Franky

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #9 am: 05. Januar 2011, 20:19:07
    Danke Franky! ;-)

    Macht bitte vorher ein Backup vom Shop!

    Grüße

    Torsten

    deepblue

    • Schreiberling
    • Beiträge: 291
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #10 am: 05. Januar 2011, 20:28:49
    Das ist ja wirklich super, dass so viele das gleiche Problem mit den alten Bildern haben. Habe vorhin auch schon 2 PM gekommen, darin wird gefragt ob es schon eine Lösung gibt.

    Leider habe ich Script von franky_n noch nicht ausprobiert. Wie sieht denn der neue Menüpunkt im Adminbereich aus?
    Habt ihr da mal einen Screenshot?

    Vielen Danke Franky! :)

    twe

    • Schreiberling
    • Beiträge: 293
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #11 am: 05. Januar 2011, 20:31:36
    es fehlt in der Anleitung für die admin/includes/aplication_top.php

    Code: PHP  [Auswählen]
    define('FILENAME_REMOVEOLDPICS', 'removeoldpics.php');
    und in der admin/removeoldpics.php zeile 54 fehlt ein ;

    richtig wäre Zeile 54

    Code: PHP  [Auswählen]
    remove_old_pics ($_GET['path']);
    ausserdem fehlt die Sprachdatei wenn man die wenn man die  removeoldpics.php aufruft. Weiss jemand auf die schnelle wo die eingebunden wird?

    franky_n

    • Experte
    • Beiträge: 4.950
    MODUL: Überflüssige Produktbilder löschen
    Antwort #12 am: 05. Januar 2011, 21:13:28
    Hallo twe,

    mach einfach eine zusätzliche Zeile in die admin/removeoldpics.php rein:

    Code: PHP  [Auswählen]
    require(DIR_FS_LANGUAGES . $_SESSION['language'] . '/admin/removeoldpics.php');
    Danke fürs testen! :)

    Viele Grüße

    Franky

    twe

    • Schreiberling
    • Beiträge: 293
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #13 am: 05. Januar 2011, 21:32:57
    ok, dachte dass die Sprachdateien auch in einer Datei definiert werden (wie die Moduldateien). Wollte nicht in deinen Code pfuschen. ;)

    aber remove_old_pics funktioniert nicht so richtig. Statt unlink werde ich es erst mal mit echo probieren. :)

    twe

    • Schreiberling
    • Beiträge: 293
    • Geschlecht:
    MODUL: Überflüssige Produktbilder löschen
    Antwort #14 am: 05. Januar 2011, 21:40:19
    Zitat
    Warning: Wrong parameter count for in_array() in /www/htdocs/w008507a/de/admin/removeoldpics.php on line 43
    Zeile 43 statt

    Code: PHP  [Auswählen]
    if (!in_array($datei)) {
    folgenden Code, dann ist der obere Fehler weg

    Code: PHP  [Auswählen]
    if (!in_array($datei,$pics_array)) {
    da ich kein PHP - Profi bin, und mit Handbuch Arbeiten muss, geht's mit dem Testen langsam :D
    Falls ich einen Fehler mache, bitte nicht. :lol1: