Ich kann nicht wirklich diese Frage im Zusammenhang mit PHP beantworten oder Guzzle, aber ich kann einige Informationen über Cloud-Dateien und einige Kommandozeilen-curl Beispiele geben, die helfen können.
Rackspace Cloud Files hat nicht wirklich das Konzept von "Ordnern" in Containern. Sie haben eine URL mit folgenden Teilen: https: // {storage_endpoint}/{account_name}/{container_name}/{object_name}
Sie können jedoch Ordner emulieren, indem Sie Objekte mit dem Zeichen "/" im Namen erstellen . Wenn Sie dann eine Containerliste ausführen, können Sie die Abfragezeichenfolgeparameter "Präfix" und "Trennzeichen" festlegen, um ein ordnerähnliches Verhalten zu emulieren.
Zum Beispiel, sagen Sie eine Auflistung Ihrer Container tun alle Ihre Objekte zu sehen:
$ curl -i -XGET -H"x-auth-token: $AUTH_TOKEN" https://storage101.iad3.clouddrive.com/v1/$ACCOUNT_NAME/$CONTAINER_NAME
HTTP/1.1 200 OK
...
Date: Thu, 01 Dec 2016 02:16:53 GMT
foo/file1.txt
foo/bar/file2.txt
baz/file3.txt
baz/file4.txt
Hier haben wir vier Objekte mit den Namen "foo/file1.txt", „foo/bar/file2.txt "," baz/file3.txt "und" baz/file4.txt ".
Der einfachste Weg für die Existenz des Ordners „foo“ zu testen, wäre das Präfix auf „foo /“ und das Trennzeichen „/“ wie folgt:
$ curl -i -XGET -H"x-auth-token: $AUTH_TOKEN" https://storage101.iad3.clouddrive.com/v1/$ACCOUNT_NAME/$CONTAINER_NAME?prefix=foo/&delimiter=/
HTTP/1.1 200 OK
...
Date: Thu, 01 Dec 2016 02:16:45 GMT
foo/file1.txt
foo/bar/file2.txt
Wie Sie sehen können Wenn Objekte mit diesem Präfix vorhanden sind, wird ein HTTP 200 zusammen mit einer Liste der Objekte zurückgegeben, die dem Präfix entsprechen. Wenn keine Objekte mit diesem Präfix existieren, existiert der "Ordner" nicht und ein HTTP 204 wird zurückgegeben.
Wenn Sie nun innerhalb von "foo" nach einem "Unterordner" suchen möchten, können Sie einfach einen anderen Containereintrag ausführen, indem Sie das Präfix "foo/bar /" ändern und das Trennzeichen von "/" beibehalten.
Weiter, wenn Sie einen Ordner "Bilder" erstellen möchten und es "cat.jpg" enthalten, müssen Sie zuerst keinen Ordner erstellen, Sie erstellen nur ein Objekt namens "images/cat.jpg" das enthält die Daten für cat.jpg.
Sie können mehr Informationen über Rackspace Cloud Files und Pseudo-Hierarchical Ordner finden Sie hier: https://developer.rackspace.com/docs/cloud-files/v1/general-api-info/pseudo-hierarchical-folders-and-directories/
danke, es hat mir sehr geholfen .. –