PHP dowload un’immagine o un file da un URL

PHP oscar Commenta l'articolo

Illustrerò tre semplici script in php per scaricare facilmente delle immagini o file da un URL. Assicuratevi che la cartella dove state scrivendo (cioè dove downloadare le immagini) esista e abbia i permessi di scrittura per chiunque o per i processi web.
Per tutti e tre gli esempi supponiamo di scaricare un’immagine all’url “http://4rapiddev.com/wp-includes/images/logo.jpg” che metterla nella cartella “download” col nome “file“.

Primo metodo

file_get_contents-file_put_contents

<?php
	function download_remote_file($file_url, $save_to)
	{
		$content = file_get_contents($file_url);
		file_put_contents($save_to, $content);
	}
?>

Esempio

<?php
download_remote_file('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');
?>

Secondo metodo

curl

<?php
	function download_remote_file_with_curl($file_url, $save_to)
	{
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_POST, 0); 
		curl_setopt($ch,CURLOPT_URL,$file_url); 
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
		$file_content = curl_exec($ch);
		curl_close($ch);
 
		$downloaded_file = fopen($save_to, 'w');
		fwrite($downloaded_file, $file_content);
		fclose($downloaded_file);
 
	}
?>

Esempio

<?php
download_remote_file_with_curl('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');
?>

Terzo metodo

fopen

<?php
	function download_remote_file_with_fopen($file_url, $save_to)
	{
		$in=    fopen($file_url, "rb");
		$out=   fopen($save_to, "wb");
 
		while ($chunk = fread($in,8192))
		{
			fwrite($out, $chunk, 8192);
		}
 
		fclose($in);
		fclose($out);
	}
?>

Esempio

<?php
download_remote_file_with_fopen('http://cdn2.4rapiddev.com/wp-includes/images/logo.jpg', realpath("./downloads") . '/file.jpg');
?>

Facili? Alla prossima.

Scrivi un Commento

Home | Graffiti e Disegni | Educazione | Chi siamo | Blog | Progetti | Contatti
RSS Feed Comments RSS Accedi