Amazon S3 copie le répertoire dans un autre répertoire
Comment puis-je copier/dupliquer un dossier contenant des sous-dossiers et les fichiers dans un autre répertoire dans le compartiment S3 à l'aide de PHP API?
$s3->copy_object
seulement des copies le dossier, mais pas les fichiers et sous-dossiers à l'intérieur.
Dois-je utiliser $s3->list_objects
pour obtenir tous les fichiers et de répertoire et exécuter $s3->copy_object
sur chaque fichier/répertoire?
source d'informationauteur Lim Kok Wei
Vous devez vous connecter pour publier un commentaire.
S3 n'est pas un système de fichiers, c'est un magasin d'objets. Les dossiers n'existe pas réellement d'une manière tangible; un dossier est juste quelque chose que vous pouvez appeler un partagées préfixe. Mettre une autre manière, si vous créez
path/to/one
etpath/to/two
il ne causepath
etpath/to
d'exister. Si vous les voyez, c'est parce que certains composants ont eu une liste d'objets, de diviser leurs clés sur/
et a décidé d'afficher cette liste comme une hiérarchie.Vous souhaitez dupliquer un dossier dans un autre dossier". Reformuler cette S3 termes, vous voulez "dupliquer tous les objets avec le même préfixe, dans les objets, avec un préfixe différent". En disant cela rend la méthode clair: obtenir une liste d'objets avec un préfixe, puis copiez chacun d'eux.
Une façon de le faire est en utilisant la liste des objets et les déplacer chaque objet un par un. Une autre façon est d'utiliser des s3fuse, qui feront de votre s3 seau comme le répertoire local et vous pouvez ensuite il suffit d'appliquer une simple commande comme 'mv' pour déplacer les fichiers.
voici un code pris sur amazon. Ce code de dupliquer l'élément de un à trois reprises à une cible, ce que vous devez faire est de le modifier de sorte qu'il parcourt chaque touche et l'ajouter au lot.