Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Forzar descargas con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Forzar descargas con PHP (2)

Además este script es sensitivo a mayúsculas y minúsculas, no es lo mismo flash.swf que Flash.swf, fLaSh.SwF... etc

Pero qué pasa cuando tenemos 100 imagenes en formato jpg, png y gif que querramos que el usuario pueda descagar? Para eso usamos un filtrado de extensión.

Listando las extensiones de los archivos que puedan ser descargables

La lógica es igual, usar in_array para saber si el archivo a descargar tiene una de las extensiones que hemos marcado como descargables, esto se hace con explode y count, seguramente habrá una forma más eficiente de hacerlo pero no la conozco.

<?php     $extensiones = array("jpg", "jpeg", "png", "gif");     $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); ?>

Y con esto la descarga de archivos se hace más fácil y más segura. Espero les haya servido




Autor: Fael

Usuarios que han visto este tema también han visto...

- Comprobar si existe el dominio del correo en PHP
- El Bucle FOR en PHP. ¿Cómo funciona?
- Imprimiendo el alfabeto en PHP
- Modificación de cadenas en PHP
- Leer archivos Excel desde PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 26-05-2012 a las 00:31:57