{"id":24570,"date":"2021-05-15T12:13:00","date_gmt":"2021-05-15T09:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24570"},"modified":"2021-10-17T19:12:51","modified_gmt":"2021-10-17T16:12:51","slug":"kuidas-faile-php-s-kaugserverisse-edastada","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/kuidas-faile-php-s-kaugserverisse-edastada\/","title":{"rendered":"Kuidas faile PHP-s kaugserverisse edastada"},"content":{"rendered":"<p>Failide v\u00f5i piltide v\u00e4lisse serverisse salvestamine on t\u00e4nap\u00e4eval tavaline k\u00e4itumine. Inimesed kasutavad failide salvestamiseks pilvem\u00e4lu, n\u00e4iteks AWS, Azure, Google Cloud, Backblaze v\u00f5i oma kaugserverit. Selle stsenaariumi korral salvestab kasutaja failid teise serverisse ja kutsub seda l\u00e4bi oma rakendusserveris oleva lingi. Selle tegemise eeliseks on serveri ribalaiuse kokkuhoid, mis toob kaasa parema serveri j\u00f5udluse.<\/p>\n<p>Varem j\u00e4rgisime kliendi projektiga t\u00f6\u00f6tades seda tehnikat piltide kaugserverisse salvestamiseks. Kliendi sooviks oli piltide saatmine omaenda v\u00e4lisserverisse ja helistamine rakendusest kuhu vaja. Sel juhul pidime p\u00e4rast kaugserverisse \u00fcleslaadimist salvestama kaugpildi tee andmebaasi.<\/p>\n<p>Selles artiklis me n\u00e4itame teile, kuidas faile PHP kaudu kaugserverisse FTP kaudu edastada. Selle \u00f5petuse huvides kasutame \u00fcleslaadimiseks pilte. Kasutaja saab valida mis tahes t\u00fc\u00fcpi faili vastavalt nende n\u00f5uetele.<\/p>\n<h3>Alustamine<\/h3>\n<p>J\u00e4tkamiseks peaks teil olema oma serveri FTP-mandaat. Teine n\u00f5ue on helilooja. Veenduge, et olete oma s\u00fcsteemi installinud <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composeri<\/a>. Kasutate <a href=\"https:\/\/github.com\/thephpleague\/flysystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Flysystemi<\/a> paketti, mis n\u00f5uab installimiseks Composerit.<\/p>\n<p>Avage oma projekti juurkataloogis terminal ja k\u00e4ivitage allolev k\u00e4sk.<\/p>\n<pre><code>composer require league\/flysystem<\/code><\/pre>\n<p>P\u00e4rast installimist looge HTML-vormingus faili sisestamise ja esitamise nupp. Seda vormi kasutatakse pildi sirvimiseks ja serverisse saatmiseks.<\/p>\n<pre><code>&lt;form method=\"post\" action=\"upload.php\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"image\" \/&gt;&lt;br&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Failide edastamine kaugserverisse<\/h3>\n<p>Olete installinud Flysystemi teegi ja loonud ka HTML-vormi. J\u00e4rgmine asi, mida tuleb teha, on v\u00f5tta pilt failisisest ja saata see kaugserverisse. Sisaldate <code>upload.php<\/code>allolevat koodi.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nuse LeagueFlysystemFilesystem;\nuse LeagueFlysystemAdapterFtp as Adapter;\n\u00a0\nif(isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if(isset($_FILES['image']['name']) &amp;&amp; !empty($_FILES['image']['name'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filesystem = new Filesystem(new Adapter([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'host' =&gt; 'HOST_NAME_HERE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'username' =&gt; 'USERNAME_HERE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'password' =&gt; 'PASSWORD_HERE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]));\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$stream = fopen($_FILES['image']['tmp_name'], 'r+');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filesystem-&gt;putStream('public_html\/images\/'.$_FILES['image']['name'], $stream);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (is_resource($stream)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fclose($stream);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Image uploaded on external server successfully.\";\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Asendage kohat\u00e4ited tegelike v\u00e4\u00e4rtustega. Siin salvestame pilte <code>public_html\/images<\/code>kataloogi. Saate seda teed oma n\u00f5uete j\u00e4rgi kohandada. \u00dclaltoodud koodis loob Flysystem FTP kaudu \u00fchenduse teie serveriga, loeb pildi sisu ja asetab pildi m\u00e4\u00e4ratud teele.<\/p>\n<p>Loodame, et saite teada, kuidas PHP-s faile kaugserverisse edastada. Flysystemi abil saate faile edastada ka AWS S3, Azure, Dropbox jne. Selle paketi kohta saate lisateavet nende <a href=\"https:\/\/flysystem.thephpleague.com\/v1\/docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ametlikust dokumentatsioonist<\/a>.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-laadida-pilte-laraveli-ftp-kaudu-teise-serverisse\/\" title=\"Kuidas laadida pilte Laraveli FTP kaudu teise serverisse\">Kuidas laadida pilte Laraveli FTP kaudu teise serverisse<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/laadige-failid-amazon-s3-sse-ules-kasutades-aws-php-sdk-d\/\" title=\"Laadige failid Amazon S3-le \u00fcles, kasutades AWS PHP SDK-d\">Laadige failid Amazon S3-le \u00fcles, kasutades AWS PHP SDK-d<\/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>Selles artiklis me n\u00e4itame teile, kuidas faile PHP-s kaugserverisse edastada. Failide kaugserverisse salvestamine ja rakendusserverist helistamine s\u00e4\u00e4stab ribalaiust<\/p>\n","protected":false},"author":1,"featured_media":21909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[274],"tags":[842],"class_list":["post-24570","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=24570"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24570\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=24570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=24570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=24570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}