Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Arno Welzel Newsgroups: de.comp.lang.php Subject: Re: sabre dav Datei umbenennen auf Server Date: Sun, 30 Oct 2022 17:50:37 +0100 Lines: 43 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net e7Bl/fZ3PQH3+0xDWvGofw0AvhZ4/onQjT+HgBIldGnZwbNH54 Cancel-Lock: sha1:0mR8Fkf6vByktgA7esNO7lIb8vg= Content-Language: de-DE In-Reply-To: Xref: csiph.com de.comp.lang.php:4862 Jan Novak, 2022-10-19 15:48: > ich möchte per php eine auf nextcloud liegende Datei umbenennen. Leider > finde ich keinen weg dazu. Mein Code bis hierhin: > > > //Verbindung $this->client ist erfolgreich. > ... > $file="datei.pdf"; > $response = $this->client->request("GET", $file); > ... > // response wird auf dem (php) Server in eine neue Datei geschrieben. > // Klappt, Datei ist als PDF wieder lesbar, > > // umbennen auf nextcloud wenn erfolgreich geholt > // (vorher prüfen Größe usw ... ) > $response = $this->client->request("setName", "ok_".$file, $file); > > > Das klappt aber nicht mit dem Fehler > > Fatal error: Uncaught Sabre\DAV\Exception\NotImplemented: > > weil die Methode "setName" nur den neuen Namen erwartet. > Wie benenne ich diese Datei dann um? Eine fertige Lösung kann ich nicht präsentieren, aber die Dokumentation zu SabreDAV ist hier: So wie ich es verstehe, muss man sich die Datei als Instanz von DAV\File holen und kann dann damit setName benutzen, um der Datei einen neuen Namen zu geben. Technisch sollte dabei ein MOVE ausgeführt werden, siehe auch http://webdav.org/specs/rfc2518.html#METHOD_MOVE -- Arno Welzel https://arnowelzel.de