{"id":25150,"date":"2021-06-01T11:54:00","date_gmt":"2021-06-01T08:54:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25150"},"modified":"2021-10-18T02:10:00","modified_gmt":"2021-10-17T23:10:00","slug":"charger-des-fichiers-sur-amazon-s3-a-l-aide-d-aws-php-sdk","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/charger-des-fichiers-sur-amazon-s3-a-l-aide-d-aws-php-sdk\/","title":{"rendered":"Charger des fichiers sur Amazon S3 \u00e0 l&rsquo;aide d&rsquo;AWS PHP SDK"},"content":{"rendered":"<p>Voulez-vous t\u00e9l\u00e9charger des fichiers sur Amazon S3 par programmation\u00a0? Amazon S3 est un service de stockage cloud o\u00f9 l&rsquo;on peut stocker des fichiers, des images, etc. Ces documents peuvent \u00eatre publics ou priv\u00e9s selon le choix du propri\u00e9taire. Dans cet article, nous \u00e9tudions comment t\u00e9l\u00e9charger des fichiers sur Amazon S3 \u00e0 l&rsquo;aide de la biblioth\u00e8que officielle AWS PHP SDK.<\/p>\n<p>Amazon S3 fournit un stockage d&rsquo;objets hautement \u00e9volutif. En raison de sa robustesse et de ses performances, il s&rsquo;agit d&rsquo;un service cloud populaire parmi les utilisateurs.<\/p>\n<h3>Pourquoi avoir besoin de t\u00e9l\u00e9charger des fichiers sur Amazon S3 ?<\/h3>\n<p>Eh bien, il existe plusieurs raisons de conserver vos fichiers sur Amazon S3. Comme il s&rsquo;agit d&rsquo;un service bas\u00e9 sur le cloud, vous pouvez acc\u00e9der \u00e0 vos fichiers de n&rsquo;importe o\u00f9. En utilisant ce service, les utilisateurs peuvent garder leurs documents confidentiels. AWS vous fournit une fonctionnalit\u00e9 pour garder votre document public ou priv\u00e9. Deuxi\u00e8mement, si vous ex\u00e9cutez un site Web, conserver vos fichiers sur le cloud vous fera \u00e9conomiser beaucoup de bande passante. Il \u00e9conomise votre espace d&rsquo;h\u00e9bergement et r\u00e9duit les charges sur votre serveur.<\/p>\n<p>Cela \u00e9tant dit, examinons comment t\u00e9l\u00e9charger des fichiers sur Amazon S3 \u00e0 l&rsquo;aide de PHP.<\/p>\n<h3>Obtenez vos informations d&rsquo;identification de s\u00e9curit\u00e9<\/h3>\n<p>Pour commencer avec S3, vous devez avoir un compte sur <a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AWS<\/a>. Apr\u00e8s avoir cr\u00e9\u00e9 le compte AWS, assurez-vous d&rsquo;activer le service S3 en suivant leur processus de v\u00e9rification.<\/p>\n<p>Lors de l&rsquo;activation du service S3, obtenez vos informations d&rsquo;identification de s\u00e9curit\u00e9 dont nous aurons besoin pour travailler avec les API.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20389-6081ea50ea555.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20389-6081ea50ea555.png\" alt=\"Charger des fichiers sur Amazon S3 \u00e0 l&#039;aide d&#039;AWS PHP SDK\" ><\/a><\/p>\n<h3>Code pour le t\u00e9l\u00e9chargement de fichiers vers Amazon S3<\/h3>\n<p>Nous sommes pr\u00eats avec les cl\u00e9s d&rsquo;API AWS. Ensuite, installez une biblioth\u00e8que officielle <a href=\"https:\/\/github.com\/aws\/aws-sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AWS PHP SDK<\/a> dans votre projet. Je recommande d&rsquo;utiliser <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> pour installer cette biblioth\u00e8que. Ouvrez le terminal dans le r\u00e9pertoire racine de votre projet et ex\u00e9cutez la commande ci-dessous.<\/p>\n<pre><code>composer require aws\/aws-sdk-php<\/code><\/pre>\n<p>Cette commande installera la biblioth\u00e8que avec ses d\u00e9pendances dans votre projet.<\/p>\n<h4>Cr\u00e9er un compartiment sur AWS<\/h4>\n<p>Dans AWS, nous devons cr\u00e9er un Bucket pour stocker nos fichiers. Le compartiment n&rsquo;est rien d&rsquo;autre qu&rsquo;une unit\u00e9 logique de stockage dans AWS. Tous vos fichiers seront stock\u00e9s dans le bucket.<\/p>\n<p>Vous pouvez cr\u00e9er un compartiment directement sur le tableau de bord S3. Mais si quelqu&rsquo;un cherche \u00e0 le cr\u00e9er dynamiquement, reportez-vous au code ci-dessous.<\/p>\n<p><strong>cr\u00e9er-seau.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire 'vendor\/autoload.php';\nuse AwsS3S3Client;\n\u00a0\n$bucketName = 'YOUR_BUCKET_NAME';\n\u00a0\n$client = new S3Client([\n\u00a0\u00a0\u00a0\u00a0'version' =&gt; 'latest',\n\u00a0\u00a0\u00a0\u00a0'region' =&gt; 'YOUR_AWS_REGION',\n\u00a0\u00a0\u00a0\u00a0'credentials' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'key'\u00a0\u00a0\u00a0 =&gt; 'ACCESS_KEY_ID',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; 'SECRET_ACCESS_KEY'\n\u00a0\u00a0\u00a0\u00a0]\n]);\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$result = $client-&gt;createBucket([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'Bucket' =&gt; $bucketName, \/\/ REQUIRED\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'ACL'\u00a0\u00a0\u00a0 =&gt; 'public-read',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0echo \"Bucket created successfully.\";\n} catch (AwsS3ExceptionS3Exception $e) {\n\u00a0\u00a0\u00a0\u00a0\/\/ output error message if fails\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Assurez-vous de remplacer les espaces r\u00e9serv\u00e9s par les valeurs r\u00e9elles. Ce code cr\u00e9e un compartiment sur votre tableau de bord S3. Nous t\u00e9l\u00e9chargerons les fichiers sous ce bucket via l&rsquo;API.<\/p>\n<p>Dans le code ci-dessus, j&rsquo;ai pass\u00e9 la paire cl\u00e9=&gt;valeur en tant que <code>'ACL' =&gt; 'public-read'<\/code>. Cette paire d\u00e9finit l&rsquo;acc\u00e8s public \u00e0 votre bucket ou \u00e0 vos fichiers. Si vous souhaitez garder votre stockage priv\u00e9, supprimez cette ligne du code.<\/p>\n<p>Le prochain travail consiste \u00e0 \u00e9crire du code pour t\u00e9l\u00e9charger des fichiers sur Amazon S3. Pour le tutoriel, je cr\u00e9e diff\u00e9rents fichiers PHP et y \u00e9cris du code. Dans votre cas, n&rsquo;h\u00e9sitez pas \u00e0 mettre en \u0153uvre la logique en fonction de votre flux de projet.<\/p>\n<h4>T\u00e9l\u00e9charger le fichier sur Amazon S3<\/h4>\n<p>Vous \u00eates pr\u00eat avec le bucket pour stocker vos fichiers. Cr\u00e9ez un fichier <code>upload-to-s3.php<\/code>et placez le code ci-dessous dans ce fichier.<\/p>\n<p><strong>t\u00e9l\u00e9charger-vers-s3.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire 'vendor\/autoload.php';\n\u00a0\nuse AwsS3S3Client;\n\u00a0\n\/\/ Instantiate an Amazon S3 client.\n$s3 = new S3Client([\n\u00a0\u00a0\u00a0\u00a0'version' =&gt; 'latest',\n\u00a0\u00a0\u00a0\u00a0'region'\u00a0 =&gt; 'YOUR_AWS_REGION',\n\u00a0\u00a0\u00a0\u00a0'credentials' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'key'\u00a0\u00a0\u00a0 =&gt; 'ACCESS_KEY_ID',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; 'SECRET_ACCESS_KEY'\n\u00a0\u00a0\u00a0\u00a0]\n]);\n\u00a0\n\u00a0\n$bucketName = 'YOUR_BUCKET_NAME';\n$file_Path = __DIR__. '\/my-image.png';\n$key = basename($file_Path);\n\u00a0\n\/\/ Upload a publicly accessible file. The file size and type are determined by the SDK.\ntry {\n\u00a0\u00a0\u00a0\u00a0$result = $s3-&gt;putObject([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'Bucket' =&gt; $bucketName,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'Key'\u00a0\u00a0\u00a0 =&gt; $key,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'Body'\u00a0\u00a0 =&gt; fopen($file_Path, 'r'),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'ACL'\u00a0\u00a0\u00a0 =&gt; 'public-read',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0echo \"Image uploaded successfully. Image path is: \". $result-&gt;get('ObjectURL');\n} catch (AwsS3ExceptionS3Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo \"There was an error uploading the file.n\";\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Ici, vous devez attribuer le nom du compartiment \u00e0 la <code>$bucketName<\/code>variable. Dans mon cas, je t\u00e9l\u00e9charge un fichier disons &quot;mon-image.png&quot; quel chemin j&rsquo;ai d\u00e9fini dans le code. En cons\u00e9quence, vous devez ajuster le chemin de vos fichiers. Enfin, j&rsquo;imprime le chemin d&rsquo;un fichier t\u00e9l\u00e9charg\u00e9 en utilisant la <code>get()<\/code>m\u00e9thode sur la r\u00e9ponse re\u00e7ue.<\/p>\n<p>Termin\u00e9! Ex\u00e9cutez maintenant le <code>upload-to-s3.php<\/code>fichier sur le navigateur et votre fichier doit \u00eatre t\u00e9l\u00e9charg\u00e9 sur le compartiment Amazon S3.<\/p>\n<p>J&rsquo;esp\u00e8re que vous comprenez la cr\u00e9ation d&rsquo;un compartiment et le t\u00e9l\u00e9chargement de fichiers sur Amazon S3. Vous pouvez \u00e9galement consulter des <a href=\"https:\/\/github.com\/awsdocs\/aws-doc-sdk-examples\/tree\/master\/php\/example_code\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">exemples de codes<\/a> fournis par AWS sur GitHub.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-telecharger-un-fichier-sur-s3-a-l-aide-du-systeme-de-fichiers-laravel\/\" title=\"Comment t\u00e9l\u00e9charger un fichier sur S3 \u00e0 l&#039;aide du syst\u00e8me de fichiers Laravel\">Comment t\u00e9l\u00e9charger un fichier sur S3 \u00e0 l&rsquo;aide du syst\u00e8me de fichiers Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-telecharger-des-images-sur-un-autre-serveur-via-ftp-dans-laravel\/\" title=\"Comment t\u00e9l\u00e9charger des images sur un autre serveur via FTP dans Laravel\">Comment t\u00e9l\u00e9charger des images sur un autre serveur via FTP dans Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-integrer-l-api-google-sheets-avec-php\/\" title=\"Comment int\u00e9grer l&#039;API Google Sheets avec PHP\">Comment int\u00e9grer l&rsquo;API Google Sheets avec PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans ce didacticiel, nous vous montrons le t\u00e9l\u00e9chargement de fichiers sur Amazon S3 \u00e0 l&rsquo;aide de la biblioth\u00e8que officielle AWS PHK SDK. Le stockage de fichiers sur le cloud vous fera \u00e9conomiser un<\/p>\n","protected":false},"author":1,"featured_media":21664,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-25150","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=25150"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/25150\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21664"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=25150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=25150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=25150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}