Funzione per prendere un file da un URL in PHP

Come prendere un file da un URL con PHP

Volete prelevare un file da un URL, ad esempio volete prendere un’immagine da un sito con php? Niente di più semplice! Vi basterà usare la seguente funzione.

function prendiFile($urlSorgente,$destinazione) {
$file = file_get_contents($urlSorgente);
file_put_contents($destinazione, $file);
}

Dove $urlSorgente conterrà l’indirizzo da cui prelevare il file e sarà qualcosa tipo“http://www.pippo.it/test.jpg”, e $destinazione indicherà dove mettere il file ed il nome da dare allo stesso.

Quindi eseguendo:

prendiFile("http://www.pippo.it/test1.jpg","prova/test2.jpg");

si avrà l’effetto di prelevare il file test1.jpg dall’indirizzo indicato e lo si scriverà nella cartella prova rinominandolo test2.jpg, ovviamente per il file si può usare lo stesso nome nella sorgente.

Credo che il metodo appena descritto, sia il modo più semplice per prelevare un file, ad esempio un’immagine da un indirizzo web, e salvarlo sul nostro server. Naturalmente deve essere abilitata la direttiva per poter usare file_get_contents, ossia allow_url_fopen. Su alcuni server è disabilitata per motivi di sicurezza, ma è sempre possibile attivarla.

Prendere un file da un URL con cURL

In passato utilizzavo cURL per fare la stessa cosa, ma così sono davvero due righe di codice! 

Nell’azienda in cui lavoravo, anni fa la prima volta che ci ponemmo il problema di prelevare un’immagine da un URL per poi ricopiarla sul nostro server tramite PHP, per farlo utilizzammo una funzione lunghissima… poi si cresce e le funzioni si accorciano! 😉 Alla prossima pillola di PHP!



Lascia un commento