✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come trasferire file su server remoto in PHP

292

La memorizzazione di file o immagini su un server esterno è un comportamento comune al giorno d’oggi. Le persone usano l’archiviazione cloud come AWS, Azure, Google Cloud, Backblaze o il proprio server remoto per archiviare i file. In tale scenario, l’utente archivia i file su un altro server e lo chiama tramite il collegamento sul proprio server delle applicazioni. Il vantaggio di fare ciò è risparmiare larghezza di banda su un server, il che si traduce in migliori prestazioni del server.

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’applicazione ovunque fosse necessario. In tal caso, era necessario archiviare il percorso dell’immagine remota nel database dopo averlo caricato su un server remoto.

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’utente può scegliere qualsiasi tipo di file in base alle proprie esigenze.

Iniziare

Per procedere ulteriormente, dovresti avere le credenziali FTP del tuo server. Un altro requisito è il compositore. Assicurati di aver installato Composer sul tuo sistema. Utilizzerai il pacchetto chiamato Flysystem che richiede Composer per l’installazione.

Apri il terminale nella directory principale del tuo progetto ed esegui il comando seguente.

composer require league/flysystem

Dopo l’installazione, crea un modulo HTML con l’input del file e il pulsante di invio. Questo modulo utilizzerà per sfogliare l’immagine e inviarla al server.

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="image" /><br>
    <input type="submit" name="submit" value="Submit">
</form>

Trasferisci file su server remoto

Hai installato la libreria Flysystem e hai anche creato un modulo HTML. La prossima cosa da fare è prendere l’immagine dall’input del file e inviarla a un server remoto. Il tuo upload.phpconterrà il codice sottostante.

<?php
require_once "vendor/autoload.php";
 
use LeagueFlysystemFilesystem;
use LeagueFlysystemAdapterFtp as Adapter;
 
if(isset($_POST['submit'])) {
 
    if(isset($_FILES['image']['name']) && !empty($_FILES['image']['name'])) {
 
        try {
            $filesystem = new Filesystem(new Adapter([
                'host' => 'HOST_NAME_HERE',
                'username' => 'USERNAME_HERE',
                'password' => 'PASSWORD_HERE',
            ]));
 
            $stream = fopen($_FILES['image']['tmp_name'], 'r+');
            $filesystem->putStream('public_html/images/'.$_FILES['image']['name'], $stream);
 
            if (is_resource($stream)) {
                fclose($stream);
            }
 
            echo "Image uploaded on external server successfully.";
        } catch(Exception $e) {
            echo $e->getMessage();
        }
    }
}

Sostituisci i segnaposto con i valori effettivi. Qui stiamo memorizzando le immagini all’interno della public_html/imagesdirectory. Puoi modificare questo percorso in base alle tue esigenze. Nel codice sopra, Flysystem si connette al tuo server tramite FTP, legge il contenuto dell’immagine e mette l’immagine nel percorso specificato.

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ù su questo pacchetto nella loro documentazione ufficiale.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More