Accedere al Cloud Object Storage con PHP

Da WikiCloud.

Indice

Utilizzare amazon-s3-php-class

Esistono diverse soluzioni per accedere al proprio bucket utilizzando PHP.

In questo esempio utilizzeremo la seguente classe:

Progetto Originale: amazon-s3-php-class

Classe modificata per l'utilizzo con il Cloud Object Storage: amazon-s3-php-class per Cloud Object Storage

Richiede CURL attivo

Autenticazione

Per poter accedere al Cloud Object Storage è necessario autenticarsi con le credenziali inviate al momento dell'attivazione.

require_once('S3.php');

$AccessKey="cosXXXX";
$SecretKey="XXXXXX";

$s3 = new S3($AccessKey, $SecretKey);

Da inserire in ogni file o chiamara al Cloud Object Storage.

Creare un bucket pubblico

Per poter iniziare ad utilizzare il Cloud Object Storage è necessario creare un bucket

$bucketName="prova";

$s3->putBucket($bucketName, S3::ACL_PUBLIC_READ);

Nel bucket è ora possibile inserire gli oggetti.

Visualizzare i bucket esistenti

Con l'esempio riportato di seguito è possibile vedere la lista dei bucket presenti nel nostro account. Il primo esempio mostra un semplice elenco, mentre il secondo riporta alcune informazioni sul bucket.

print_r(S3::listBuckets());
   
print_r(S3::listBuckets(true));

Caricare un oggetto in un bucket

In questo esempio verrà caricato il file logo.gif presente sul client, con il nome assegnato alla variabile $saveName.

$file="logo.gif";
$saveName="logo.gif";
$bucketName="prova";

$s3 = new S3($AccessKey, $SecretKey);

if (S3::putObject(S3::inputFile($file), $bucketName, $saveName, S3::ACL_PRIVATE)) {
  echo "File uploaded.";
 } else {
  echo "Failed to upload file.";
}

Mostra il contenuto di un bucket

Visualizza tutti gli oggetti che appartengono ad un bucket. Questa operazione può essere particolarmente onerosa, in termini di prestazioni, in proporzione al numero di oggetti presenti nel bucket.

$bucketName="prova";

if (($contents = $s3->getBucket($bucketName)) !== false) {
 foreach ($contents as $object) {
  print_r($object);
 }
}

Array ( [name] => logo.gif [time] => 1303364731 [size] => 1832 [hash] => )

Cancellare un oggetto in un bucket

Le seguenti istruzioni cancelleranno il file "logo.gif" dal bucket "$bucketName".

$file="logo.gif";

if (S3::deleteObject($bucketName, $file)) {
 echo "Deleted file.";
}

Cancellare un bucket

if (S3::deleteBucket($bucketName)) {
 echo "Deleted bucket";
}
Strumenti personali
Namespace
Varianti
Azioni
Cloud MQTT
Cloud Hosting
Cloud Server
Foundation Server
Cloud Object Storage
Cloud Streaming
Cloud Backup
Navigazione
Strumenti