
Código PHP:
<?php
//DESCARGAR ARCHIVO
if ($_GET[submit])
{
$extensiones = array("jpg", "jpeg", "png", "gif", "zip", "rar");
$extensiones2 = array("zip", "rar");
$f = $_GET['descargar'];
$url= "http://www.dominio.com/CARPETA/DESCARGAS/". $_GET['descargar'];
$ftmp = explode(".",$f);
$fExt = strtolower($ftmp[count($ftmp)-1]);
if(!in_array($fExt,$extensiones)){
die("<div align=center style=\"border:2px #000 dashed; font-family:georgia, arial, tahoma;background: #990000; font-size:12px;width:550px; color:#FFFFFF; vertical-align:middle;
\"><b>NO,</b>ese tipo de archivo no es permitido para descargar.<br><br>
Archivos permitidos:<br>
.".$extensiones[0]."<br>
.".$extensiones[1]."<br>
.".$extensiones[2]."<br>
.".$extensiones[3]."<br>
.".$extensiones[4]."<br>
.".$extensiones[5]."<br>Si Necesitas habilitar algun archivo para descargar.
</div>");
}
if(in_array($fExt,$extensiones2)){
header('Content-Type: application/octet-stream');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header('Content-Disposition: attachment; filename="'.$_GET['descargar'].'"');
header('Content-Transfer-Encoding: binary');
readfile($url);
}
else
{
header ("Content-Disposition: attachment; filename=".$_GET['descargar'].";" );
header ("Content-Type: application/force-download");
readfile($url);
exit;
}
}
else
{
$servidor_ftp = "ftp.SERVIDOR.FTP";
$id_con = ftp_connect($servidor_ftp) or die("No ha sido posible conectarse a $servidor_ftp");
$resultado_login = ftp_login($id_con, USER, PASS);
ftp_chdir($id_con, "/CARPETAS/");
$ftp_nlist = ftp_nlist($id_con, ".");
sort($ftp_nlist);
echo '<form name="submit" method="get" action="'.$_SERVER['PHP_SELF'].'">
<label>
Archivo a descargar:
<select name="descargar" id="descargar">
';
foreach ($ftp_nlist as $v) {
if ($res != -1) {
echo '<option value="' . $v . '">' . $v . '</option>';
}
}
echo '
</select>
<input type="submit" name="submit" id="submit" value="Download">
</label>
</form>';
}
//Fin
?>
Un abrazo y gracias.
