2012-05-31 18 views
6

Sono appena iniziato con l'SDK S3 di AWS per PHP, sono riuscito a caricare una cartella di elementi dal mio PC a un bucket s3 utilizzando PHP, è c'è un modo per specificare una cartella all'interno di quel bucket, per esempio, invece di caricare image.jpg su imagebucket, si carica nella cartella chiamata images all'interno di 'imagebucket'.AWS S3 SDK per PHP, caricamento in cartelle all'interno di un bucket

+2

'$ S3-> create_object ($ bucket, 'folder/filename', $ options)' funzionano? – lanzz

+0

lanzz, signore, sei un dio tra gli uomini. –

+1

Dai un'occhiata agli strumenti s3cmd. Che risolve molti problemi. http://s3tools.org/s3cmd –

risposta

5

Non esiste un concetto di cartelle in aws s3. È solo per scopo di visualizzazione utilizzato da Amazon AWS UI.

Attualmente memorizza il nome file come chiave & come valore.

se si memorizzano 5 file con cartelle diverse, non verranno create 5 cartelle.

4

Dalla documentazione:

public function uploadDirectory($directory, $bucket, $keyPrefix = null, array $options = array()) 

Specificando $ keyPrefix, è possibile causare gli oggetti caricati per essere collocati in una cartella virtuale nel secchio Amazon S3. Ad esempio, se il nome $ secchio è il mio secchio e il $ keyPrefix è 'test /', quindi i file saranno caricati al mio-secchio sotto la sperimentazione della cartella/virtuale: https://my-bucket.s3.amazonaws.com/testing/filename.txt

See: http://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-s3.html#uploading-a-directory-to-a-bucket

Problemi correlati