Bildernamen automatisch als Nummer speichern

  • Nach der Wiederherstellung meiner Wordpress-Installation habe ich nun das Problem, dass nicht alle Beitragsbilder angezeigt werden. Habe bereits versucht die Rechte für die Bilder neu zu vergeben, hat alles nichts gebracht. Habe dann in einem Beitrag ein Bild neu hochgeladen und auf dem FTP danach geschaut, die alten Bilder werden nicht angezeigt, weil diese im namen Umlaute aufwiesen und diese nach der Wiederherstellung in Zeichenkombinationen umgewandelt wurden.

    Werde jetzt die Bilder manuell oder mit Search & Replace umbenennen.

    Habe mir nun gedacht, für den Fall, dass ich später mal wieder zu einer Wiederherstellung machen muss und um dem hier beschriebenen Problem vorzubeugen, dass ich die Bilder auf dem FTP nummerisch abspeichere. Ab liebsten das der Bild-Namen automatisch in die "post_id" des Beitrags umbenannt wird.

    Also wie folgt, ich erstelle einen Beitrag mit dem Titel "Beitragstitel" an den Titel wird über Permalinks eine -Postid angehängt. Schaut dann im Browser ca. so aus http://www.webseite.de/Beitragstitel-68593.

    Nun befinden sich in diesem Beitrag aber auch 3 Bilder, die dann z.B. heißen

    - Bild zum Beitrag über BlaBlaBla.jpg
    - Screenshot zum Beitrag über BlaBlaBla.png
    - Weiteres Bild zum Beitrag BlaBlaBla.png

    beim Abspeichern des Beitrags, sollen die Bilder dann anhand der Postid automatisch umbenannt werden und anschließend wie folgt abgelegt werden

    - 68593_1.jpg
    - 68593_2.png
    - 68593_3.png

    Das sollte am besten auch für die in den Kommentaren eingebundenen Bilder genauso gelten.

    Hoffe jemand kann mir bei der Umschreibung der Bildernamen helfen bzw. ein Plugin empfehlen mit welchem das realisierbar wäre.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • habe ich etwas unverständlich umschrieben, bei Bedarf würde ich versuchen das Ganze etwas verständlicher zu beschreiben oder fällt dafür niemandem eine Lösung ein?

  • was nützt es dir, wenn du die Bildnamen in der Datenbank änderst,
    sie liegen doch auf dem Webspace mit ihren richtigen Namen
    meist im Ordner

    wp-content/uploads

    1. nie wieder ein Bild mit einem Umlaut als Dateinamen speichern, keine Sonderzeichen nixe, :-9
    das ist eine Unsitte von Windows, dass sowas durchgeht

    du musst entweder alle Bilder auch auf dem ftp ändern
    oder die kaputten Umlaute mit search und replace in das Originaländern
    dazu reicht es, wenn du das kaputte UmlautZeichen kopierst und richtig ersetzen läßt

    Datenbankbackup vorher => unbedingt!

  • So ein Nummern System hat noch ganz andere Fallstricke, schon alleine weil eine Doppelverwendung von Bildern zu einem Konflikt führen würde und jedesmal wenn ein Bild über den Mediamanager außerhalb eines Post hochgeladen wird eine umfangreiche Änderung in der Datenbank und im Filesystem manuell angestoßen werden müsste.

    Wie Monika schon geschrieben hat einfach an die Grundgesetze der IT halten. Ein Dateiname besteht sinnvollerweise aus

    1. Buchstaben von a-z
    2. Zahlen von 0-9
    3. Unterstrichen _
    4. Bindestrichen -

    Leerzeichen, Sonderzeichen, Umlaute, Großschreibung, Camelcase sind tabu.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Habe jetzt erst mal alle Bilder auf dem FTP manuell ohne Umlauten hochgeladen und mit den jeweiligen Beiträgen verbunden.

    Nix Sonderzeichen in den Dateinamen, das ist mir jetzt klar ;-)

    Jedoch bitte ich in meiner Wordpress-Installation den Usern die Möglichkeit eigene Post mit Bildern einzutragen und da ist es zu aufwendig jedes mal aufs neue erklären zu müssen, weshalb keine Umlaute in den Dateinamen verwenden werden sollen.

    Ein Plugin welches die Dateinamen beim Upload fortlaufenden in eine Zahlenfolge konvertiert wäre da schon wünschenswert.

  • Die Bild-Nummer sollte anhand der Post-ID nur einmalig vergeben werden und eventuelle Bild-Updates oder falls in einen Beitrag mehrere Bilder eingefügt werden, dann um den Zusatz _XX (= Zahl) ergänzt werden.

  • Wenn es denn unbedingt gewünscht wird. Hier ein ähnliches Konzept, allerdings ohne Post ID. Das müsste man sich dann selbst anpassen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Leider lassen sich die Bilder mit dem genannten Plugin nicht so umbenennen wie gewünscht. Bin durch den Plugin-TiPP aber dennoch ein Stück weitergekommen, vorher sind mir die passenden Keywords für die Suche nicht eingefallen :-P

    Habe jetzt eine Code-Schnipsel gefunden, mit dem die Bilder beim Upload auch umbenannt werden, leider schaffe ich es einfach nicht die Post-ID des jeweiligen Beitrags einzufügen, dieser müsste irgendwie an die Stelle wo grad im Code "[COLOR=#444444][FONT=Andale Mono]The New File Name" steht eingefügt werden.

    Aber wie? [/FONT][/COLOR]:-P[COLOR=#444444][FONT=Andale Mono]

    [/FONT][/COLOR]add_filter('sanitize_file_name', 'hi_there_new_filename', 10, 2);
    function hi_there_new_filename($filename, $filename_raw) {
    $info = pathinfo($filename);
    $ext = empty($info['extension']) ? '' : '.' . $info['extension'];
    $new = 'The New File Name' . $ext;
    if( $new != $filename_raw ) {
    $new = sanitize_file_name( $new );
    }
    return $new;
    }

  • Warum das so einfach nicht geht hatte ich schon geschrieben. Und mit dem Filter bekommst Du Freude wenn Du einmal Bilder ganz normal über den Mediamanager hochladen willst. Man kann das schreiben aber eben nicht im Vorbeigehen. Einfach mal im Jobforum ausschreiben, da kommen bestimmt ein paar Entwickler, die Dir das machen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!