{"id":25134,"date":"2021-06-01T12:13:00","date_gmt":"2021-06-01T09:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25134"},"modified":"2021-10-17T20:30:36","modified_gmt":"2021-10-17T17:30:36","slug":"lataa-tiedostot-amazon-s3-een-aws-php-sdk-n-avulla","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/lataa-tiedostot-amazon-s3-een-aws-php-sdk-n-avulla\/","title":{"rendered":"Lataa tiedostot Amazon S3: een AWS PHP SDK: n avulla"},"content":{"rendered":"<p>Haluatko ladata tiedostoja Amazon S3: een ohjelmallisesti? Amazon S3 on pilvivarastopalvelu, johon voi tallentaa tiedostoja, kuvia jne. N\u00e4m\u00e4 asiakirjat voivat olla julkisia tai yksityisi\u00e4 omistajan valinnan mukaan. T\u00e4ss\u00e4 artikkelissa tutkitaan, miten tiedostoja l\u00e4hetet\u00e4\u00e4n Amazon S3: een k\u00e4ytt\u00e4m\u00e4ll\u00e4 virallista AWS PHP SDK -kirjastoa.<\/p>\n<p>Amazon S3 tarjoaa suuren skaalattavan kohteen tallennustilan. Kest\u00e4vyytens\u00e4 ja suorituskyvyns\u00e4 vuoksi se on suosittu pilvipalvelu k\u00e4ytt\u00e4jien keskuudessa.<\/p>\n<h3>Miksi sinun on ladattava tiedostoja Amazon S3: een?<\/h3>\n<p>No, on useita syit\u00e4 pit\u00e4\u00e4 tiedostosi Amazon S3: lla. Koska se on pilvipohjainen palvelu, voit k\u00e4ytt\u00e4\u00e4 tiedostojasi mist\u00e4 tahansa. T\u00e4t\u00e4 palvelua k\u00e4ytt\u00e4ess\u00e4\u00e4n k\u00e4ytt\u00e4j\u00e4t voivat pit\u00e4\u00e4 asiakirjansa luottamuksellisena. AWS tarjoaa sinulle ominaisuuden pit\u00e4\u00e4 asiakirjasi joko julkisena tai yksityisen\u00e4. Toiseksi, jos sinulla on verkkosivusto, tiedostojen pit\u00e4minen pilvess\u00e4 s\u00e4\u00e4st\u00e4\u00e4 paljon kaistanleveytt\u00e4. Se s\u00e4\u00e4st\u00e4\u00e4 hosting-tilaa ja v\u00e4hent\u00e4\u00e4 palvelimesi kuormitusta.<\/p>\n<p>T\u00e4st\u00e4 huolimatta katsotaanpa, kuinka ladata tiedostoja Amazon S3: een PHP: n avulla.<\/p>\n<h3>Hanki tietoturvatiedot<\/h3>\n<p>S3: n k\u00e4yt\u00f6n aloittamiseksi sinulla on oltava tili <a href=\"https:\/\/aws.amazon.com\/s3\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AWS: ss\u00e4<\/a>. Kun olet luonut AWS-tilin, muista aktivoida palvelu S3 seuraamalla heid\u00e4n vahvistusprosessiaan.<\/p>\n<p>Kun aktivoit S3-palvelun, hanki suojaustunnuksesi, jota tarvitsemme ty\u00f6skennelless\u00e4si sovellusliittymien kanssa.<\/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=\"Lataa tiedostot Amazon S3: een AWS PHP SDK: n avulla\" ><\/a><\/p>\n<h3>Koodi tiedostojen lataamiseen Amazon S3: een<\/h3>\n<p>Olemme valmiita AWS API -avaimilla. Asenna seuraavaksi virallinen <a href=\"https:\/\/github.com\/aws\/aws-sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AWS PHP SDK<\/a> -kirjasto projektiisi. Suosittelen, ett\u00e4 asennat t\u00e4m\u00e4n kirjaston <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composerilla<\/a>. Avaa p\u00e4\u00e4te projektin juurihakemistossa ja suorita alla oleva komento.<\/p>\n<pre><code>composer require aws\/aws-sdk-php<\/code><\/pre>\n<p>T\u00e4m\u00e4 komento asentaa kirjaston ja niiden riippuvuudet projektiisi.<\/p>\n<h4>Luo \u00e4mp\u00e4ri AWS: ll\u00e4<\/h4>\n<p>AWS: ss\u00e4 meid\u00e4n on luotava \u00e4mp\u00e4ri tiedostojemme tallentamiseksi. \u00c4mp\u00e4ri on vain looginen tallennusyksikk\u00f6 AWS: ss\u00e4. Kaikki tiedostosi tallennetaan \u00e4mp\u00e4riin.<\/p>\n<p>Voit luoda kauhan suoraan S3-kojelautaan. Mutta jos joku haluaa luoda sen dynaamisesti, katso alla olevaa koodia.<\/p>\n<p><strong>create-bucket.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>Muista korvata paikkamerkit todellisilla arvoilla. T\u00e4m\u00e4 koodi luo ryhm\u00e4n S3-hallintapaneeliin. L\u00e4het\u00e4mme tiedostot t\u00e4h\u00e4n ryhm\u00e4\u00e4n API: n kautta.<\/p>\n<p>Yll\u00e4 olevassa koodissa l\u00e4p\u00e4isin avaimen =&gt; arvoparin nimell\u00e4 <code>'ACL' =&gt; 'public-read'<\/code>. T\u00e4m\u00e4 pari asettaa kauhan tai tiedostojen julkisen k\u00e4ytt\u00f6oikeuden. Jos haluat pit\u00e4\u00e4 tallennustilan yksityisen\u00e4, poista t\u00e4m\u00e4 rivi koodista.<\/p>\n<p>Seuraava ty\u00f6 on koodin kirjoittaminen tiedostojen lataamiseksi Amazon S3: een. Opetuksen vuoksi luon erilaisia \u200b\u200bPHP-tiedostoja ja kirjoitan niihin koodia. Sinun tapauksessasi voit toteuttaa logiikan projektisi kulusta riippuen.<\/p>\n<h4>L\u00e4het\u00e4 tiedosto Amazon S3: een<\/h4>\n<p>Olet valmis tallentamaan tiedostosi \u00e4mp\u00e4riin. Luo tiedosto <code>upload-to-s3.php<\/code>ja aseta alla oleva koodi t\u00e4h\u00e4n tiedostoon.<\/p>\n<p><strong>upload-to-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>T\u00e4ss\u00e4 sinun tulisi m\u00e4\u00e4ritt\u00e4\u00e4 <code>$bucketName<\/code>muuttujan kauhan nimi. Minun tapauksessani l\u00e4het\u00e4n tiedoston, jossa sanotaan &quot;my-image.png&quot;, mink\u00e4 polun asetin koodiin. Siksi sinun tulisi s\u00e4\u00e4t\u00e4\u00e4 tiedostojesi polkua. Lopuksi tulostan ladatun tiedoston polun <code>get()<\/code>menetelm\u00e4ll\u00e4 saatuun vastaukseen.<\/p>\n<p>Valmista! Suorita nyt <code>upload-to-s3.php<\/code>tiedosto selaimella ja tiedosto tulisi ladata Amazon S3 -s\u00e4il\u00f6\u00f6n.<\/p>\n<p>Toivon ymm\u00e4rt\u00e4v\u00e4nne kauhan luomisen ja tiedostojen lataamisen Amazon S3: een. Voit my\u00f6s tarkistaa AWS: n GitHubissa tarjoamat <a href=\"https:\/\/github.com\/awsdocs\/aws-doc-sdk-examples\/tree\/master\/php\/example_code\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">esimerkkikoodit<\/a>.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-ladata-tiedosto-s3-een-laravel-tiedostojarjestelman-avulla\/\" title=\"Kuinka ladata tiedosto S3: een Laravel-tiedostoj\u00e4rjestelm\u00e4n avulla\">Kuinka ladata tiedosto S3: een Laravel-tiedostoj\u00e4rjestelm\u00e4n avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-ladata-kuvia-toiselle-palvelimelle-ftp-n-kautta-laravelissa\/\" title=\"Kuinka ladata kuvia toiselle palvelimelle FTP: n kautta Laravelissa\">Kuinka ladata kuvia toiselle palvelimelle FTP: n kautta Laravelissa<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-integroida-google-sheets-sovellusliittyma-php-hen\/\" title=\"Kuinka integroida Google Sheets -sovellusliittym\u00e4 PHP: hen\">Kuinka integroida Google Sheets -sovellusliittym\u00e4 PHP: hen<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 opetusohjelmassa n\u00e4yt\u00e4mme, kuinka l\u00e4het\u00e4t tiedostoja Amazon S3: een k\u00e4ytt\u00e4en virallista AWS PHK SDK -kirjastoa. Tiedostojen tallentaminen pilvipalveluun s\u00e4\u00e4st\u00e4\u00e4 a<\/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":[275],"tags":[843],"class_list":["post-25134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=25134"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25134\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21664"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=25134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=25134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=25134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}