1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Hochgeladene Dateien verschieben

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von stefan_o, 28. Mai 2022.

  1. stefan_o

    stefan_o Active Member

    Registriert seit:
    6. Mai 2022
    Beiträge:
    25
    Zustimmungen:
    3
    Hallo,
    ich suche ein Plug-In, mit dem ich Dateien in einen anderen Ordner im Dateisystem (mit entsprechend neuer URL) verschieben kann. Also statt .../wp-content/uploads/2022/05/bild.jpg nach ...wp-content/uploads/design/bild.jpg
    Ich möchte nicht die Grundeinstellung ändern, sondern als Option nachträglich. Ich habe schon diverse Plug-Ins ausprobiert, aber die verschieben die Dateien nicht sondern legen eine virtuelle Ordnerstruktur in der Datenbank an (das möchte ich nicht).
    Das einzige Plug-In, dass ich gefunden habe dafür (Organize Media Folder) funktioniert leider nicht richtig, dass zeigt ein Großteil der hochgeladenen Dateien nicht an.
    Gibt es dafür ein gutes Plug-In? Muss ja nicht viel können, nur die Datei verschieben (mit Thumbnails wenn erforderlich) und den EIntrag in der Datenbank aktualisieren.
    Vielen Dank
    Stefan
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.346
    Zustimmungen:
    587
    die Mediathek in WordPress erlaubt dies eigentlich nicht. *Jahr* und Monat ist das maximale, was geht.

    Wenn das Datum stört, kannst du unter Einstellungen => Medien

    Meine Uploads in monats- und jahresbasierten Ordnern organisieren


    deaktivieren.

    Verwende ein aktuelles Dateiformat für deine Bilder .jxl
    benenne die Datei sinnvoll


    wp-content/uploads/design.jxl

    ^- geht mit WordPress und ist SEO optimiert.

    Gebastel an der Mediathek funktionieren leider nicht. Es gibt Galerie Plugins, die außerhalb von WordPress und der Mediathek Bilder verwalten und eine eigene "Verzeichnisstruktur" unterstützen. Die Bilder sind dann aber nicht mehr in der Mediathek.
     
  3. stefan_o

    stefan_o Active Member

    Registriert seit:
    6. Mai 2022
    Beiträge:
    25
    Zustimmungen:
    3
    Darum geht es mir nicht, das ist standardmäßig gut, worum es mir geht, ist eine Datei nachträglich im Dateisystem zu verschieben. Der Hintergrund ist, dass ich für einen anderen Ordner mittels Apache-Konfiguration/.htaccess spezielle Zugriffrechte setzen kann.
    JPEG-XL ist vielleicht etwas zu aktuell... Soweit ich weiß kann das nur Firefox beta und Chrome und auch nur wenn man das aktiviert. Verstehe mich nicht falsch, ich halte JPEG-XL für das erste Format das JPEG wirklich ersetzen kann (anders als JPEG-2000, JPEG-X-sonstwas (außer L), heif, WebP, avif...), da es tatsächlich alles kann was JPEG kann, nicht notwendigerweise komplexer bei der Kodierung ist und die Kodiereffizienz bei allen Bildgrößen/Qualitäten höher ist (bei den Videocodec-basierenden Formaten ist das oft der Knackpunkt: Besseres Bild bei starker Kompression, aber bei hoher Qualität ist JPEG besser). Aber ich wollte nicht 99,99% der Besucher ohne Bilder dastehen lassen. Ich habe übrigens die Standard-libjpeg-turbo durch mozjpeg auf dem Server ersetzt, dadurch werden kleinere JPEGs bei besserer Qualität erzeugt (die Thumbnails die Wordpress erzeugt). Da hilft selbst eine verlustfreie Konvertierung nach jxl nicht mehr viel um die Dateien zu verkleinern (weniger als 10%). Wäre natürlich genial wenn Wordpress die Thumbnails auch als jxl erzeugen könnte und je nachdem was der Browser in seinem accept-Header mitschickt das richtige Format wählt.
    Gehen tut das schon, man kann eine Datei manuell verschieben und die guid in der Datenbank anpassen. Mehr möchte ich ja gar nicht. Aber ich vermute ich muss mich selber hinsetzen und ein Plug-In basteln.
     
    meisterleise gefällt das.
  4. stefan_o

    stefan_o Active Member

    Registriert seit:
    6. Mai 2022
    Beiträge:
    25
    Zustimmungen:
    3
    Hier mein Plug-In, nicht schön, aber funktioniert. Es wird ein Metainfo-Kasten erzeugt, der alle Ordner im Upload-Hauptverzeichnis auflistet, sowie das Hauptverzeichnis selber und den Jahr-Monat-Ordner des Posts. Wenn ein anderer Ordner gewählt wird, wird die Datei dahin verschoben und falls erfolgreich die guid in der Datenbank aktualisiert. Wenn Datenbank aktualisieren nicht klappt, wird die Datei zurückverschoben und wenn erfolgreich, wird noch nach Thumbnails gesucht und diese auch verschoben.

    Wichtig: Feste Links in irgendwelchen Posts oder so werden nicht aktualisiert! Nur nutzen wenn man weiß was man tut!

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    meisterleise gefällt das.
  5. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Anmerkung am Rande: Das Feld guid wird von WordPress nicht zum Auffinden von Dateien genutzt und ist auch nicht zwangsläufig konsistent mit der aktuellen URL/Domain. Mehr dazu z.B. google: WordPress guid
     
  6. stefan_o

    stefan_o Active Member

    Registriert seit:
    6. Mai 2022
    Beiträge:
    25
    Zustimmungen:
    3
    Gegenfrage: Wie findet Wordpress denn die Medien-Dateien? Ich konnte in der Datenbank nichts anderes finden, dass auf die hochgeladene Datei verweist. Und bis jetzt konnte ich keine Probleme feststellen. Die Warnungen vor dem Ändern der guid die man bei Google findet beziehen sich immer auf Posts (ich weiß, Medien sind auch ein spezieller Post-Type, aber vermutlich der speziellste).
     
  7. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
  8. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.346
    Zustimmungen:
    587
    Du kannst jederzeit externe Inhalte über den Editor einfügen. Wofür benötigst du die Mediathek?

    JPG XL ist Standard. Aktuelle Browser können dies schon sehr lange

    • Chrome: behind a flag since version 91.0.4470.0
    • Firefox: behind a flag since version 90.0a1
    • Edge: behind a flag since version 91
    • Opera: behind a flag since version 77

    Firefox ab 90.0 und jetzt sind wir bei Version 100...

    Dafür ist dein C02 Fußabdruck Schrott.

    2022 mozjpeg verwenden? Habe ich mindestens seit 5 Jahren nicht mehr auf dem Server.

    mozjpeg benötigt für die Bearbeitung von 1MB fast 1 Minute und verbraucht dafür zu viel Energie. Da es den Stromverbrauch bei den Clients reduziert, gleicht es sich aus und war bis zur Einführung von WebP2 pp Jpg XL "vertretbar". Aber 2022?


    kann WordPress. Es gibt einen Google Entwickler bei WordPress, der ein Performance Plugin geschrieben hat. Das Plugin kann zuerst WebP aber wenn auf dem Server JPG XL ist...

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    =>
    https://jpegxl.io/tutorials/html/


    Aber wir kommen vom Thema ab.
     
  9. meisterleise

    meisterleise Well-Known Member

    Registriert seit:
    18. Januar 2012
    Beiträge:
    1.351
    Zustimmungen:
    345
    r23 versucht hier wiederholt, seine JXL-Philosophie in den Raum zu streuen. Weiß der Geier, was er damit bezweckt. [​IMG] Es macht absolut keinen Sinn, da kein einziger Browser dieses Dateiformat (per Grundeinstellung) unterstützt. Wer es dennoch unbedingt machen will, beschert seinen Besuchern eine bilderfreie Webseite, sofern kein Fallback vorhanden. [​IMG]
     
  10. stefan_o

    stefan_o Active Member

    Registriert seit:
    6. Mai 2022
    Beiträge:
    25
    Zustimmungen:
    3
    Damit man einfach Bilder/Dateien hochladen kann etc. und kein separates System braucht. Wie kann man außerdem ein Beitragsbild festlegen das nicht in der Mediathek ist.
    "Behind a flag": Man muss es extra aktivieren (was vermutlich 99,99% der Nutzer nicht tun). Und bei Firefox funktioniert das nicht Release-Versionen. Der Grund warum das so lange dauert das zu übernehmen: libjxl ist noch sehr jung und in C geschrieben und enthält damit potentiell noch unentdeckte Sicherheitslücken, deswegen sind die Browder-Hersteller sehr vorsichtig so eine Bibliothek einzubinden.
    Natürlich hoffe ich auf den Erfolg/die Verbreitung von JXL, da ich es wie schon geschrieben für einen würdigen Nachfolger von JPEG halte, aber zum jetzigen Zeitpunkt macht es noch nicht so viel Sinn.
    Da machst du was falsch. mozjpeg ist langsamer als libjpeg-turbo, aber nicht extrem, verwechselst du das mit Google Guetzli? Hier ist ein Test: https://www.pixelz.com/blog/guetzli-mozjpeg-comparison/ mozjpeg benötigt auf einem MacBook Air mit 1,6 GHz Intel i5 von 2015 rund 10 Sekunden um ein 48 Megapixel Bild auf 4,6 MB zu komprimieren (was weit jenseits von dem ist, was Wordpress Thumbnails an Größe/Auflösung haben). Ich weiß nicht was für einen Rechner du hast mit dem du auf diese 1 Minute gekommen bist. Durch die verringerte Dateigröße wird weniger Energie zum Lesen/Übertragen bei jeden Zugriff benötigt, daher gehe ich davon aus, dass die CO2-Bilanz nach ein bestimmten Anzahl Aufrufe langfristig besser ist.
    Das ich das manuell einbinden kann ist mir klar, interessant wäre ob WordPress automatisch die JXL erzeugen kann und automatisch überall dann picture verwendet.
    Noch so ein Gedanke: Wenn ich jedes Bild nach JPEG, WebP, avif und JXL komprimiere, das ist vermutlich nicht gut für den CO2-Fußabdruck. Ich würde WebP und avif rausschmeißen (zumindest eins davon).
    Ja, du hast recht, das ist mir in diesem langen String "_wp_attachment_metadata" gar nicht aufgefallen, da steht der Pfad auch drin (und die erzeugten Thumbnails, muss also nicht suchen). Werde den Code nochmal überarbeiten, damit der Eintrag auch angepasst wird.
     
  11. stefan_o

    stefan_o Active Member

    Registriert seit:
    6. Mai 2022
    Beiträge:
    25
    Zustimmungen:
    3
    So, habe den Code überarbeitet:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Es werden nun auch die Metadaten "_wp_attached_file" und "_wp_attachment_metadata" aktualisiert, die Thumbnails werden jetzt nicht gesucht sondern aus den Metadaten gelesen und verschoben (und die Metadaten aktualisiert). Damit sollten z.B. JXL-Dateien mitverschoben werden wenn sie als Thumbnail mit aufgeführt sind. Es gibt vorher auch eine Prüfung, ob irgendeine der Dateien schon vorhanden ist, wenn ja wird nichts verschoben.
     
  12. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.660
    Zustimmungen:
    1.783
    Anmerkungen am Rande:
    • Das Feld guid wird von WordPress nicht zum Auffinden von Dateien genutzt. Auf vielen Installationen wird das abweichen, z.B. nach http/https Umstellungen oder nach Domainumzügen. Recherchehinweis dazu siehe oben.
    • Zum Lesen/Schreiben der Metadaten in der Mediathek sollte dafür vorhandene WordPress API wp_get_attachment_metadata() bzw. wp_update_attachment_metadata() verwendet werden, damit auch alle damit verknüpften sonstigen Hooks laufen.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden