splashDL

Hoy os traigo un gestor de descargas sencillo, de mi propia cosecha, para implementar en vuestras webs o blogs. De forma completamente transparente al usuario (y a vosotros mismos) presenta una página «splash» que retrasa la descarga unos segundos, con un banner publicitario de AdSense. Como añadido si se entra a la raíz del directorio de descargas muestra un listado de los archivos que se encuentran en el directorio con enlaces para descargar.

DEMO | DESCARGA

Instalación y funcionamiento

Es tan simple como descomprimir el contenido del .zip,  editar dos archivos (.htaccess y config.php) y subirlo a vuestro directorio de descargas

Contenido del .zip:

  • _resources
    • lang
      • en.php
      • es.php
    • config.php
    • download.php
  • style.php
  • .htaccess
  • index.php

Una vez descomprimido empezamos editando el archivo .htaccess:

.htaccess

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
RewriteEngine On
RewriteBase /ruta_del_script/
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
RewriteRule ^([^/]+)\.([^/]+)$ $1.$2 [L]
RewriteCond %{REQUEST_URI} !index.php
RewriteRule ^([^/]+)\.([^/]+)$ index.php?file=$1.$2
 
ErrorDocument 404 /ruta_del_script/index.php?page=error404

Debemos cambiar «ruta_del_script» por la ruta del directorio en el que se encuentra el script en las lineas 2 y 17.

Después le toca el turno al archivo config.php que se encuentra dentro de _resources:

config.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!--?php $config = array( "lang" =&gt; "es", // Idioma del script
    "title" =&gt; "Ejemplo", //Título de la página principal
    "urls" =&gt; array(
        "site" =&gt; "http://www.ejemplo.com/" //Dirección de la página principal
    ),
    "time" =&gt; 10,
    /* Parametros anuncio de AdSense */
    "ad" =&gt; array(
        "client" =&gt; "ca-pub-XXXXXXXXXXXXXXXX", //Id de editor de adsense 'ca-pub-XXXXXXXXXXXXXXXX'
        "slot" =&gt; "", //Identificador de adsense del anuncio 'XXXXXXXXXX'
        "width" =&gt; "300", //Ancho del formato de anuncio
        "height" =&gt; "250" //Alto del formato de anuncio
    )
);
?-->

Modificando el valor de las variables podéis elegir el idioma que queréis usar (Español «es» o ingles «en»), establecer el titulo de vuestra página, la dirección de la misma (La url de la página, no de la carpeta de descargas), el tiempo que queréis que tarde en comenzar la descarga de los archivos y poner los parámetros del anuncio de AdSense que queréis que aparezca.

El funcionamiento es muy sencillo. Mediante el .htaccess se redirigen todas las peticiones de archivos a index.php pasando como un argumento el nombre del archivo. Este usando una función de javascript ejecuta el script download.php que fuerza la descarga de cualquier archivo (Incluso los archivos que podría ejecutar el navegador).

download.php

1
<!--?php header ("Content-Disposition: attachment; filename=".$_GET['file']); header ("Content-Type: application/octet-stream"); header ("Content-Length: ".filesize("../".$_GET['file'])); readfile("../".$_GET['file']); ?-->

Hay que destacar que si se entra desde un dispositivo móvil se accede al archivo normalmente, para eso son las primeras lineas del archivo .htaccess. De este modo evitamos a los usuarios el despilfarro de megas de sus tarifas 😛

Y con esto termino. Probadlo, jugad con los estilos, modificadlo para adaptarlo a vuestras necesidades o traducidlo al chino mandarín… Para cualquier cosa abajo están los comentarios 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.