[gelöst]Bilder beim uploat automatisch umbenennen
Eingetragen von SportSaarlandToday (92)
am 06.08.2024 - 20:49 Uhr in
am 06.08.2024 - 20:49 Uhr in
Gibt es eine Möglichkeit, Bilder beim Upload nach einer bestimmten Syntax umzubenennen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Auch hier die Antwort von ChatGPT
am 10.08.2024 - 18:47 Uhr
Ja, es gibt in Drupal mehrere Möglichkeiten, um hochgeladene Bilder nach einer bestimmten Syntax umzubenennen. Die Methode hängt davon ab, welche Anforderungen du hast und wie flexibel die Lösung sein soll. Hier sind einige Ansätze:
1. Benutzerdefinierte Modulentwicklung
Eine der flexibelsten Möglichkeiten besteht darin, ein benutzerdefiniertes Modul zu erstellen, das den Upload-Prozess abfängt und das Bild vor dem Speichern umbenennt. Du kannst einen Event-Subscriber nutzen, um auf das Event hook_file_presave() zu reagieren und dort die Datei nach deinen Wünschen umzubenennen.
use Drupal\file\FileInterface;
/**
* Implements hook_file_presave().
*/
function mymodule_file_presave(FileInterface $file) {
if ($file->getMimeType() === 'image/jpeg' || $file->getMimeType() === 'image/png') {
// Hier kannst du deine eigene Logik für den Dateinamen definieren
$new_filename = 'prefix_' . time() . '.' . pathinfo($file->getFilename(), PATHINFO_EXTENSION);
$file->setFilename($new_filename);
}
}
2. Benutzung eines vorhandenen Moduls
Es gibt Module wie File (Field) Paths und File Rename, die eine automatische Umbenennung von Dateien basierend auf bestimmten Regeln ermöglichen. Diese Module erlauben es dir, Dateinamen basierend auf Token zu definieren, wie z.B. dem Datum, dem Nutzernamen oder anderen Feldern des Inhalts.
File (Field) Paths: Dieses Modul bietet eine sehr flexible Konfiguration, um Pfade und Dateinamen basierend auf Token zu definieren. Du kannst beispielsweise den Dateinamen so konfigurieren, dass er automatisch das Erstellungsdatum oder den Titel des Nodes enthält.
3. Hook file_validate nutzen
Du kannst auch hook_file_validate() nutzen, um eine Validierung einzubauen, die überprüft, ob die Datei nach einer bestimmten Syntax benannt ist, und sie gegebenenfalls umbenennt.
function mymodule_file_validate(FileInterface $file) {
// Überprüfe und benenne die Datei hier um
}
Vielen vielen vielen Dank
am 10.08.2024 - 20:17 Uhr
Vielen vielen vielen Dank :)
Genau sowas habe ich gesucht.
Das Modul File (Field) Paths macht genau, das was ich brauche.
Nochmals Danke.