Forzar descarga en PHP
Abril 30, 2008 2:00 pmHa veces nos ha pasado que hemos colocado en nuestra web un archivo para bajar, pero este se abría por defecto en el navegador, o con algún programa predeterminado que teníamos instalado. Para forzar su descarga y evitar así esta tediosa situación para alguno de nuestros usuarios, podemos usar el siguiente script en PHP:
Ver Código PHP | |
<?php $extensiones = array("rar", "zip", "jpg", "gif"); // extensiones que permitiremos $f = $_GET["f"]; if(strpos($f,"/")!==false){ die("No puedes navegar por otros directorios"); } $ftmp = explode(".",$f); $fExt = strtolower($ftmp[count($ftmp)-1]); if(!in_array($fExt,$extensiones)){ die("<b>ERROR!</b> no es posible descargar archivos con la extensión $fExt"); } header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"$f\"\n"); $fp=fopen("$f", "r"); fpassthru($fp); ?> | |
Por ejemplo, si este script lo llamamos “bajar.php”, pues un link de ejemplo seria:
http://miweb.com/bajar.php?f=miarchivo.rar
