Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Obligar a descargar archivos de tu web

  • 26/08/2010
  • 1:31 am
  • marcofbb

Muchas veces nos preguntamos ¿Cómo hacemos para que nuestros usuarios descarguen las imágenes de nuestro sitio sin tener que apretar clic derecho, guardar como ?

La respuesta es fácil, un código php que cambie nuestra cabecera de la web y así lograr que se reilasen descargas de cualquier archivo.

Creamos un archivo download.php con el siguiente código:

<?php
/*Codigo por dedydamy.com */
$ar=$_GET['archivo']; //Obtenemos el archivo desde get
$separar=explode('.',$ar);//separamos desde el punto
$extencion=$separar[1];//creamos Variable que contenga despues del punto
$extenciones_permitidas=array('jpg','jpeg','gif','png');//Creamos un array con las extenciones que queremos que baje(se pueden añadir mas)
if (in_array($extencion,$extenciones_permitidas)) {//Si la extencion es permitida continuamos
if(file_exists($ar)){//Si el archivo existe continuamos
$filepath = ($ar);//Creamos variable con nombre del archivo
header("HTTP/1.1 200 OK");//testeamos cabecera
header("Status: 200 OK"); //testeamos cabecera
header('Content-Type: text/php');//testeamos cabecera
header('Content-Disposition: attachment; filename="'.$filepath.'"'); //testeamos cabecera
header('Content-Length: '.filesize($filepath));//testeamos cabecera
readfile($filepath);//Descargamos mediante readfile
}else{//Si no existe
echo"El archivo: ".$ar." No existe";//Lo decimos
}
} else {//Si la extencion no se puede descargar
echo"El archivo: ".$ar." No Puede ser descargado";//Lo decimos
}
/*Codigo por dedydamy.com */
?>

En fin para descargar un archivo solo pones

http://ejemplo.com/download.php?archivo=aqui archivo a descargar.jpg

y así lo puedes utilizar mediante un simple link

<a href=”http://ejemplo.com/download.php?archivo=aqui archivo a descargar.jpg“>Click para descargar</a>

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 14

Avatar
26/08/2010
1:34 am

Información Bitacoras.com...

Valora en Bitacoras.com: Muchas veces nos preguntamos ¿Cómo hacemos para que nuestros usuarios descarguen las imágenes de nuestro sitio sin tener que apretar clic derecho, guardar como ? La respuesta es fácil, un código php que cambie nuestra ca......

Avatar
26/08/2010
12:10 pm

Buenisima 😀

Avatar
eric
01/10/2010
1:42 am

no funco 🙁

    Avatar
    01/10/2010
    12:12 pm

    Pasame url de tu web así lo chekeo

Avatar
01/10/2010
12:13 pm

Ya se porque no anduvo hay problemas de comillas, ahi modifico el post y intenta de nuevo.

Avatar
02/10/2010
8:44 pm

Creeme que no sabia (:

Avatar
29/04/2012
12:29 am

Ey por casualidad no podrian desarrollar un script que pueda subir y descargar carpetas enteras (completas), se los agradeceria mucho

    Avatar
    29/04/2012
    5:40 pm

    @Bedder Alberto podes hacer un script que comprima la carpeta en Zip y luego la descargue.

    Saludos

Avatar
29/04/2012
6:10 pm

Nunca se me habria ocurrido :s, xD gracias...
Ahora a investigar como hacerlos XD

Avatar
Alec
01/06/2012
10:43 am

Gracias por el tutorial.
Pero he visto el tutorial por todas partes y sitios web. Pero es para forzar a descargar archivos de mi web.

Si tengo un link externo que no esta en mi web.
Ejemplo: http://otraweb.com/files/canción.mp3

En este caso no puedo poner el archivo download porque estaría alterando el código de descarga.

Esto lo necesito para poder forzar la descarga de canciones del script buscador de goear.

Avatar
05/05/2013
6:14 pm

Muy bueno el script Marcos.
Saludos.

Avatar
09/05/2013
1:48 am

Hola, quisiera saber si se presiona un boton puede pausar la descarga si es grande, para descargarlo luego (Header: partial).

Y por ejemplo:
Si descargan un archivo .txt
no se abre al descargarlo, se queda en la carpeta de descarga, como puedo hacer que al nomas descargar ejecutar el archivo de texto?
Esto varia con cada navegador?
Si es asi, cual es la diferencias que se deberian aplicar?

Avatar
20/12/2013
9:55 am

muchas gracias me sirvion a mil

Avatar
16/02/2014
12:44 pm

TU CODIGO ESTA ESPECTACULAR FUNCIONO AL 100000000000% FELICIDADES AMIGO!


Enviar Comentario

(*)

(*)