Ich versuche, das Ersetzen einer vorhandenen Datei mit demselben Namen zu erzwingen, wenn eine neue Version vom Benutzer hochgeladen wird. Ich habe viele Beiträge zu diesem Thema gesehen, aber keine, bei denen ich Adressen finden konnte, wie der Austausch erzwungen werden kann.
Ich verwende ein benutzerdefiniertes Formular. Hier ist der Code, den ich während der Formularüberprüfung zum Laufen gebracht habe:
$file = file_save_upload(
'file',
array(
'file_validate_is_document' => array(), // Validates file is really a document.
'file_validate_extensions' => array('pdf doc ppt pps avi mpg mov wmv'), // Validate extensions.
),
'public://',
FILE_EXISTS_REPLACE
);
Die überarbeitete Datei (sagen wir "file.jpg") wird hochgeladen, aber Drupal erstellt zwangsläufig eine neue Kopie und benennt sie für jede neue Version in file_0.jpg, file_1.jpg usw. um.
Ich habe sogar versucht, die Originaldatei vor dem Hochladen programmgesteuert mit "file_delete" zu löschen, aber ich bekomme immer noch die Kopie!
Jede Hilfe wäre dankbar.
Ich habe es geschafft, es mit dem folgenden Code zum Laufen zu bringen.
quelle
quelle