Girando ho trovato questo... però nn riesco a capire dove inserire url della sorgente, quindi sito.xxx
poi leggo che la salva sul mio spazio nella cartella img/ e li mi sta bene
Codice PHP:
<?php
error_reporting(E_ALL);
$url = isset($_GET["url"]) ? $_GET["url"] : null;
if(!preg_match("/(http):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/", $url)) {
exit("Inserisci un url valido!");
}
/* variabili che puoi modificare */
$dir = "img/"; // cartella dove sarà caricata l'immagine
$consentiti = array("image/gif", "image/x-png", "image/pjpeg", "image/jpeg", "image/bmp", "image/ief", "image/svg+xml", "image/tiff"); // lista mime type consentiti
$max_kb = 512; // dimensione massima in kilobyte
/* fine variabili che puoi modificare */
$info = pathinfo($url); // informazioni sull'url
$ch = curl_init($url); // apro una connessione verso $url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // imposto qualche parametro...
curl_setopt($ch, CURLOPT_HEADER, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$code = curl_exec($ch); // sorgente pagina
curl_close($ch); // chiudo la connessione
$code = explode("\r\n\r\n", $code);
$head = $code[0];
$body = $code[1];
preg_match("/Content-Type: (\w+)(\/)(.+)/i", $head, $m);
$mime = trim($m[1] . $m[2] . $m[3]);
if(!in_array($mime, $consentiti)) {
exit("Estensione non consentita!");
}
preg_match("/Content-Length: (\d+)/i", $head, $m);
$peso = (int) $m[1];
$peso = ceil($peso / 1024); // dimensioni file
if($peso > $max_kb) { // se il file occupa piu' di $max_kb kb interrompo lo script
exit("Il peso del file è superiore a {$max_kb}kb!"); // interrompo lo script
}
$name = $dir . $info["basename"]; // percorso file
$id = 1; // ci serve per generare il nome del file
$n = pathinfo($name, PATHINFO_FILENAME); // nome file di $name
$e = pathinfo($name, PATHINFO_EXTENSION); // estensione di $name
while(file_exists($name)) {
$name = $dir . $n . $id . "." . $e;
$id++;
}
if(file_put_contents($name, $body)) {
echo "File caricato con successo!";
}
?>
Opure voi avete altra soluzione, altro codice, magari javascript