#1 2014-05-09 08:24:42

Tobi He
Gast

Automatisches Löschen von Dateien im Uploadordner durch Piwigo?

Hallo zusammen,

ich habe folgendes Problem und komme nicht darauf was sich dahinter verbirgt:

In meiner Anwendung lade ich Bilder direkt per PHP Skript in den Upload Ordner von Piwigo ([...]piwigp/upload/Jahr/Monat/Tag/Dateiname). Der Dateiname ist hierbei unikat.
Zusätzlich trage ich das Bild inkl. der relevanten Daten selbst in die Datenbank ein. (Ein Eintrag in die piwigo_images Tabelle, die Albumzuordnung in die piwigo_image_category Tabelle).

Wenn ich verschiedene Bilder hochlade, funktioniert dieses Vorgehen ohne Probleme - die Bilder werden Piwigo hinzugefügt, sind in den entsprechenden categories, auch über die Oberfläche, zu finden.
Lade ich jedoch dasselbe Bild (mit anderem Namen) hoch und trage dieses in die Datenbank ein, so wird das vorherige Bild automatisch sowohl vom Dateisystem entfernt, als auch aus der Datenbank entfernt. Es wird ein neuer Eintrag für das neu hochgeladene Bild angelegt.

Meine erste Vermutung war, dass in MySQL Trigger hinterlegt sind, welche bei Änderung von Daten in den beiden o.g. Tabellen ausgelöst werden und diese anschließend ein PHP Skript starten, welches sich um die Aufräumarbeiten kümmert. Ich konnte jedoch keine Trigger in der Datenbank und in den Erstellungsskripten finden.

Somit stehe ich nun etwas auf dem Schlauch, vor allem, da ich in dieser Anwendung die HTTP Schnittstellen nicht verwenden kann/darf.

Falls jemand bereits dasselbe Problem hatte, würde ich mich über einen Lösungsansatz freuen.

Gruß Tobi

#2 2014-05-12 09:28:06

Tobi He
Gast

Re: Automatisches Löschen von Dateien im Uploadordner durch Piwigo?

Falls jemand das Thema interessiert, habe ich für mich eine Lösung gefunden:


Unterdrücken der Löschung von duplikaten Bildern in Categories (DB & Dateisystem) durch Piwigo

In der Konfiguration(piwigo/include/config_default_inc) muss der Parameter 'uniqueness_mode' geändert werden:

        // how should we check for unicity when adding a photo. Can be 'md5sum' or
        // 'filename'
        $conf['uniqueness_mode'] = 'filename';


Der Parameterist per default auf md5sum, sollte hierfür jedoch auf 'filename' gesetzt werden.
Hierdurch wird definiert, wie ein Foto innerhalb einer Catgory(Album) als Duplikat erkannt und sowohl aus der Datenbank, als auch vom Dateisystem entfernt wird
Somit wird innerhalb der Alben nur noch auf doppelte Dateinamen geprüft und nicht mehr auf die md5checksum, welche bei gleichen Bildern derselbe Wert ist und somit ein Entfernen triggern würde.

Brett Fußzeile

Unterstützt von FluxBB

github twitter newsletter Spenden Piwigo.org © 2002-2024 · Kontakt