El nombre del post ya lo dice todo, esto es muy util para por si creas una web de descargas o una galeria privada para ti, y por ejemplo quieres colgar el dreamweaver cs3 que son 285, piensa 30 minutos para bajartelo y luego.... ¿cuanto en subirlo? para algo tenemos curl() jaja
Nota: Este script puede mover mucho tráfico del servidor, asi que si tienes un hosting "normalillo" te aconsejo que no lo uses o que te esperes al ultimo dia de mes, por si se te agota la transferencia el dia 1 tener la web operativa.
$cl = curl_init($_GET['host'].$_GET['archivo']); // la variable cl almacena el inicio de curl, la url de origen
$fp = fopen($_GET['archivo'], "w"); // la variable fp, tiene el fopen que crea el archivo de destino ya que esta en modo escritura
curl_setopt($cl, CURLOPT_FILE, $fp); // guardamos los datos recibidos en la variable fp, que como no, es el fopen :P
curl_setopt($cl, CURLOPT_HEADER, 0); // NO incluimos el header de curl en el archivo, esto es importante porque si no, nos destrozaria el archivo
curl_exec($cl); // ejecutamos el curl
curl_close($cl); // cerramos/apagamos/terminamos curl
fclose($p); // cerramos la conexion del fopen
Su ejecución es sencilla, ejemplo:
guardar.php?host=http://trials.adobe.com/drcs3/&archivo=ADBEDRWVCS3_WWS.exe
¡IMPORTANTE! Terminar la variable host siempre con "/" para que luego sea accesible el archivo.
¿Por que uso host y archivo? Pues lo hago asi para que el archivo que descargues se llame igual que en el servidor remoto
(el archivo si se llama asi en realidad el host exsite pero la carpeta esta mal puesta)
Dudas, problemas, sugerencias aqui como siempre