Ergebnis 1 bis 5 von 5

Thema: [Gelöst] Bilder verschieben Uuid rename

  1. #1
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    618

    Standard [Gelöst] Bilder verschieben Uuid rename

    Hi,

    ich hab mal eine Verständisfrage zum Bilder verschieben in der Dateiverwaltung /files.

    Ich hab hier ca 1000 Bilder, die in unterschiedlichen Ordnern liegen, und die ich gerne per Script verschieben möchte.

    mit
    PHP-Code:
    rename($alt,$neu); 
    klappts nicht

    Alle benötigten Daten kann ich mir holen mit
    PHP-Code:
    $objFile = \FilesModel::findByUuid($myUUID); 
    Korrekte alte und neue Pfade werden auch ausgegeben. Habs mit relativen und absoluten Pfaden probiert.

    Oder muß ich sowieso nur den "path" in der tl_files Tabelle aktualisieren und dann die Synchronisation anstossen?

    Hintergrund:

    In einer Contao 3 - Erweiterung wurden die Dateien früher im Backend in einem Modul hochgeladen und dabei einem bestimmten Produkt/ID/Tabelle zugeordnet.

    Jetzt werden alle neuen Dateien im Frontend hochgeladen, mittels Erweiterung fineuploader und dann per Hook "onPrepareFormData" gleich in das passende Verzeichnis verschoben.

    Die alten zugeordneten Dateien sollen nun in diesselben Verzeichnisse geschoben/zusammengeführt werden, damit der gesamt Inhalt des entsprechenden Verzeichnisses im Frontend abgerufen werden kann.

    Ich hoffe, ich hab mich halbwegs verständlich ausgedrückt.

    Wie macht man sowas am besten und wieso funktioniert "rename" nicht ?

    Vielen Dank für Hinweise

    Grüße, Tintifax
    Geändert von tintifax (24.11.2022 um 15:51 Uhr)

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Damit die Referenzen erhalten bleiben musst du entweder die Dateiverwaltung dafür nutzen - oder, wenn es denn per PHP sein muss, dann zB:
    PHP-Code:
    \Contao\Dbafs::moveResource(
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    618

    Standard

    Also nur mit Pfade aktualisieren verschiebt sich nix in der Dateiverwaltung.

    Nach Synchronisieren ebenso nicht.

    Wie kann ich mit php die Bilder physisch in der Dateiverwaltung verschieben ?

    Beim Upload kann ich es ja mit rename(..,..) verschieben, aber bereits auf dem Server in der Dateiverwaltung befindliche Bilder reagieren nicht darauf und verharren im alten Ordner.

    Weiß das jemand ?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Du musst die Datei verschieben (Bspw. mit rename von Symfony Filesystem) und danach
    PHP-Code:
    \Contao\Controller::moveResource 
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Fan
    Registriert seit
    09.02.2011.
    Beiträge
    618

    Standard

    YES !!!

    das hier hat mir gefehlt

    PHP-Code:
    use Symfony\Component\Filesystem\Exception\IOExceptionInterface;
    use 
    Symfony\Component\Filesystem\Filesystem;
    use 
    Symfony\Component\Filesystem\Path
    DANKE !!!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •