{"id":24427,"date":"2021-05-15T12:24:00","date_gmt":"2021-05-15T09:24:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24427"},"modified":"2021-10-18T03:15:40","modified_gmt":"2021-10-18T00:15:40","slug":"come-trasferire-file-su-server-remoto-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-trasferire-file-su-server-remoto-in-php\/","title":{"rendered":"Come trasferire file su server remoto in PHP"},"content":{"rendered":"<p>La memorizzazione di file o immagini su un server esterno \u00e8 un comportamento comune al giorno d&#8217;oggi. Le persone usano l&#8217;archiviazione cloud come AWS, Azure, Google Cloud, Backblaze o il proprio server remoto per archiviare i file. In tale scenario, l&#8217;utente archivia i file su un altro server e lo chiama tramite il collegamento sul proprio server delle applicazioni. Il vantaggio di fare ci\u00f2 \u00e8 risparmiare larghezza di banda su un server, il che si traduce in migliori prestazioni del server.<\/p>\n<p>In passato, mentre lavoravamo al progetto di un cliente, seguivamo questa tecnica per memorizzare le immagini su un server remoto. Quello che il cliente voleva era inviare immagini al proprio server esterno e chiamarlo da un&#8217;applicazione ovunque fosse necessario. In tal caso, era necessario archiviare il percorso dell&#8217;immagine remota nel database dopo averlo caricato su un server remoto.<\/p>\n<p>In questo articolo, ti mostreremo come trasferire file su un server remoto in PHP tramite FTP. Per il bene di questo tutorial, usiamo le immagini per il caricamento. L&#8217;utente pu\u00f2 scegliere qualsiasi tipo di file in base alle proprie esigenze.<\/p>\n<h3>Iniziare<\/h3>\n<p>Per procedere ulteriormente, dovresti avere le credenziali FTP del tuo server. Un altro requisito \u00e8 il compositore. Assicurati di aver installato <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> sul tuo sistema. Utilizzerai il pacchetto chiamato <a href=\"https:\/\/github.com\/thephpleague\/flysystem\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Flysystem<\/a> che richiede Composer per l&#8217;installazione.<\/p>\n<p>Apri il terminale nella directory principale del tuo progetto ed esegui il comando seguente.<\/p>\n<pre><code>composer require league\/flysystem<\/code><\/pre>\n<p>Dopo l&#8217;installazione, crea un modulo HTML con l&#8217;input del file e il pulsante di invio. Questo modulo utilizzer\u00e0 per sfogliare l&#8217;immagine e inviarla al server.<\/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>Trasferisci file su server remoto<\/h3>\n<p>Hai installato la libreria Flysystem e hai anche creato un modulo HTML. La prossima cosa da fare \u00e8 prendere l&#8217;immagine dall&#8217;input del file e inviarla a un server remoto. Il tuo <code>upload.php<\/code>conterr\u00e0 il codice sottostante.<\/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>Sostituisci i segnaposto con i valori effettivi. Qui stiamo memorizzando le immagini all&#8217;interno della <code>public_html\/images<\/code>directory. Puoi modificare questo percorso in base alle tue esigenze. Nel codice sopra, Flysystem si connette al tuo server tramite FTP, legge il contenuto dell&#8217;immagine e mette l&#8217;immagine nel percorso specificato.<\/p>\n<p>Ci auguriamo che tu sappia come trasferire file sul server remoto in PHP. Utilizzando Flysystem, puoi anche trasferire file su AWS S3, Azure, Dropbox, ecc. Puoi saperne di pi\u00f9 su questo pacchetto nella loro <a href=\"https:\/\/flysystem.thephpleague.com\/v1\/docs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentazione ufficiale<\/a>.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-caricare-immagini-su-un-altro-server-tramite-ftp-in-laravel\/\" title=\"Come caricare immagini su un altro server tramite FTP in Laravel\">Come caricare immagini su un altro server tramite FTP in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/carica-file-su-amazon-s3-utilizzando-aws-php-sdk\/\" title=\"Carica file su Amazon S3 utilizzando AWS PHP SDK\">Carica file su Amazon S3 utilizzando AWS PHP SDK<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo, ti mostriamo come trasferire file su un server remoto in PHP. Memorizzare i file su un server remoto e chiamarli dal server delle applicazioni consente di risparmiare larghezza di banda<\/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":[276],"tags":[846],"class_list":["post-24427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24427"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24427\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}