Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Charger des fichiers sur Amazon S3 à l’aide d’AWS PHP SDK

180

Voulez-vous télécharger des fichiers sur Amazon S3 par programmation ? Amazon S3 est un service de stockage cloud où l’on peut stocker des fichiers, des images, etc. Ces documents peuvent être publics ou privés selon le choix du propriétaire. Dans cet article, nous étudions comment télécharger des fichiers sur Amazon S3 à l’aide de la bibliothèque officielle AWS PHP SDK.

Amazon S3 fournit un stockage d’objets hautement évolutif. En raison de sa robustesse et de ses performances, il s’agit d’un service cloud populaire parmi les utilisateurs.

Pourquoi avoir besoin de télécharger des fichiers sur Amazon S3 ?

Eh bien, il existe plusieurs raisons de conserver vos fichiers sur Amazon S3. Comme il s’agit d’un service basé sur le cloud, vous pouvez accéder à vos fichiers de n’importe où. En utilisant ce service, les utilisateurs peuvent garder leurs documents confidentiels. AWS vous fournit une fonctionnalité pour garder votre document public ou privé. Deuxièmement, si vous exécutez un site Web, conserver vos fichiers sur le cloud vous fera économiser beaucoup de bande passante. Il économise votre espace d’hébergement et réduit les charges sur votre serveur.

Cela étant dit, examinons comment télécharger des fichiers sur Amazon S3 à l’aide de PHP.

Obtenez vos informations d’identification de sécurité

Pour commencer avec S3, vous devez avoir un compte sur AWS. Après avoir créé le compte AWS, assurez-vous d’activer le service S3 en suivant leur processus de vérification.

Lors de l’activation du service S3, obtenez vos informations d’identification de sécurité dont nous aurons besoin pour travailler avec les API.

Charger des fichiers sur Amazon S3 à l'aide d'AWS PHP SDK

Code pour le téléchargement de fichiers vers Amazon S3

Nous sommes prêts avec les clés d’API AWS. Ensuite, installez une bibliothèque officielle AWS PHP SDK dans votre projet. Je recommande d’utiliser Composer pour installer cette bibliothèque. Ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande ci-dessous.

composer require aws/aws-sdk-php

Cette commande installera la bibliothèque avec ses dépendances dans votre projet.

Créer un compartiment sur AWS

Dans AWS, nous devons créer un Bucket pour stocker nos fichiers. Le compartiment n’est rien d’autre qu’une unité logique de stockage dans AWS. Tous vos fichiers seront stockés dans le bucket.

Vous pouvez créer un compartiment directement sur le tableau de bord S3. Mais si quelqu’un cherche à le créer dynamiquement, reportez-vous au code ci-dessous.

créer-seau.php

<?php
require 'vendor/autoload.php';
use AwsS3S3Client;
 
$bucketName = 'YOUR_BUCKET_NAME';
 
$client = new S3Client([
    'version' => 'latest',
    'region' => 'YOUR_AWS_REGION',
    'credentials' => [
        'key'    => 'ACCESS_KEY_ID',
        'secret' => 'SECRET_ACCESS_KEY'
    ]
]);
 
try {
    $result = $client->createBucket([
        'Bucket' => $bucketName, // REQUIRED
        'ACL'    => 'public-read',
    ]);
    echo "Bucket created successfully.";
} catch (AwsS3ExceptionS3Exception $e) {
    // output error message if fails
    echo $e->getMessage();
}

Assurez-vous de remplacer les espaces réservés par les valeurs réelles. Ce code crée un compartiment sur votre tableau de bord S3. Nous téléchargerons les fichiers sous ce bucket via l’API.

Dans le code ci-dessus, j’ai passé la paire clé=>valeur en tant que 'ACL' => 'public-read'. Cette paire définit l’accès public à votre bucket ou à vos fichiers. Si vous souhaitez garder votre stockage privé, supprimez cette ligne du code.

Le prochain travail consiste à écrire du code pour télécharger des fichiers sur Amazon S3. Pour le tutoriel, je crée différents fichiers PHP et y écris du code. Dans votre cas, n’hésitez pas à mettre en œuvre la logique en fonction de votre flux de projet.

Télécharger le fichier sur Amazon S3

Vous êtes prêt avec le bucket pour stocker vos fichiers. Créez un fichier upload-to-s3.phpet placez le code ci-dessous dans ce fichier.

télécharger-vers-s3.php

<?php
require 'vendor/autoload.php';
 
use AwsS3S3Client;
 
// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'YOUR_AWS_REGION',
    'credentials' => [
        'key'    => 'ACCESS_KEY_ID',
        'secret' => 'SECRET_ACCESS_KEY'
    ]
]);
 
 
$bucketName = 'YOUR_BUCKET_NAME';
$file_Path = __DIR__. '/my-image.png';
$key = basename($file_Path);
 
// Upload a publicly accessible file. The file size and type are determined by the SDK.
try {
    $result = $s3->putObject([
        'Bucket' => $bucketName,
        'Key'    => $key,
        'Body'   => fopen($file_Path, 'r'),
        'ACL'    => 'public-read',
    ]);
    echo "Image uploaded successfully. Image path is: ". $result->get('ObjectURL');
} catch (AwsS3ExceptionS3Exception $e) {
    echo "There was an error uploading the file.n";
    echo $e->getMessage();
}

Ici, vous devez attribuer le nom du compartiment à la $bucketNamevariable. Dans mon cas, je télécharge un fichier disons "mon-image.png" quel chemin j’ai défini dans le code. En conséquence, vous devez ajuster le chemin de vos fichiers. Enfin, j’imprime le chemin d’un fichier téléchargé en utilisant la get()méthode sur la réponse reçue.

Terminé! Exécutez maintenant le upload-to-s3.phpfichier sur le navigateur et votre fichier doit être téléchargé sur le compartiment Amazon S3.

J’espère que vous comprenez la création d’un compartiment et le téléchargement de fichiers sur Amazon S3. Vous pouvez également consulter des exemples de codes fournis par AWS sur GitHub.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails