PHP

Ξ 12 comentarios

Cómo forzar descargas en tus sitios Web

por Xabadu
Cómo forzar descargas en tus sitios Web

Es recurrente que cuando tenemos un sitio Web, presentamos variados contenidos a nuestros visitantes, ya sea para que visualicen o bien para que descarguen.

Sin embargo, gracias a las diferentes configuraciones de los navegadores más usados (Internet Explorer, Firefox, Safari, Opera, Chrome, etc), ocurre a menudo que algunos contenidos que nosotros dejamos para descarga, sean visualizados dentro del mismo navegador.

Hoy les enseñaremos un pequeño script en PHP para que utilicen en sus sitios, con el cual cuando los usuarios hagan click en un enlace determinado, se forzará la descarga de este contenido en vez de su visualización.

Para conocer todo el detalle, como siempre, los invitamos a seguirnos después del salto.

Cómo forzar descargas en tus sitios Web

Como siempre, lo primero:

Implementos necesarios:

  1. Un editor Web, recomendamos y utilizamos Adobe Dreamweaver CS4 (pueden obtener una copia de evaluación en este enlace).
  2. Que su alojamiento Web, o servidor propio, soporte la ejecución de archivos PHP.

Con eso claro, vamos, manos a la obra:

Procedimiento:

Lo que haremos será definir un código PHP en un archivo aparte desde donde podremos forzar las descargas de los contenidos de nuestro sitio Web, pero además para que podamos controlar estas descargas. Para eso:

1.- Lo primero que haremos será crear un archivo PHP en nuestro editor Web. A este archivo lo llamaremos “descarga.php” (sin las comillas) y contendrá el código para forzar las descargas.

2.- En el archivo que creamos, debemos insertar el siguiente código (los comentarios, como siempre, en negrita, cursiva y entre /* y */):


Este código, cada vez que se le llame, forzará la descarga del archivo en cuestión.

3.- Ahora, en cualquier página que necesitemos, basta con que al momento de fijar el enlace para descarga (linkear), lo hagamos de la siguiente forma:

descarga.php?f=nombredelarchivo.extension

Por ejemplo, si tenemos un archivo en formato PDF que queremos que la gente descargue y que tenga por nombre “ejemplo.pdf”, nuestro enlace sería de la siguiente forma:

descarga.php?f=ejemplo.pdf

o si lo vieramos por código HTML:

a href=”descarga.php?f=ejemplo.pdf” (entre etiquetas < y >)

Antes de terminar, algunas notas adicionales:

1.- Recordemos que cada archivo que queramos que los usuarios descarguen, y a su vez forzar esa descarga mediante el código, debe estar definido en el array de descarga.php

2.- Los archivos para descargar, deben estar dentro del mismo directorio que descarga.php, por lo que una buena opción es crear un directorio como bodega de archivos y en ese directorio almacenar descarga.php. Solo debemos fijarnos de hacer correctamente el enlace desde nuestras páginas Web.

Y así de simple, con ese sencillo código podremos forzar descargas de todo tipo desde nuestros sitios Web, además de asegurarnos que los contenidos no se abran en el mismo navegador y controlar que cosas podrán bajar los visitantes desde nuestro sitio.

Recuerden que como siempre, este tutorial ha sido:

Cualquier duda, problema o comentario, pueden dejarnos unas líneas en el área habilitada a continuación.

Esperamos que este tutorial haya sido de utilidad para Uds.

Muchas gracias por leer y será hasta una próxima oportunidad.

Comparte este tutorial

El culpable de todo esto

Las tardes gloriosas de domingo y las grandes ovaciones a estadio lleno, no son algo extraño para Xabadu. Luego de ser descubierto a los 4 años en un partido de barrio por los ojeadores del gran Aviación F.C., sacudió el mercado nacional al ser traspasado en $500 pesos chilenos (1 USD) y 3 coca colas al renombrado Estrella Blanca de Lolol. Luego de una impresionante carrera por equipos como Lozapenco, Santa Cruz, Deportivo Lago Chungará y una incursión en la 3a división del futbol de Kazajstan, su record imbatible hasta la fecha de 1257 goles en 20 partidos lo llevo a ser elegido como uno de los arqueros más recordados en la historia pelotera nacional. Una lesión en el colmillo superior derecho lo llevó al retiro el año 2003, pero está de vuelta y sin duda que su jerarquía y experiencia internacional será un gran aporte.

En los barrios marginales se le conoce como: Xabadu

Comentarios en Facebook

12 Comentarios

  • Gracias, lo hice en en HTLM. Mi host no soporta PHP 🙁

    Aguante ComoLoHago

    Jassir Naveas.
    Antofagasta, Chile.

  • Buen consejo!

    Una pregunta: ¿Como sería la solución en HTML?

    Saludos desde España.

  • me ocurre lo siguiente:

    Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\mobile\descarga.php:4) in C:\xampp\htdocs\mobile\descarga.php on line 14

    Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\mobile\descarga.php:4) in C:\xampp\htdocs\mobile\descarga.php on line 15


    ¿cómo hago para que funcione?
    gracias por adelantado

  • Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\umb_sao\scripts\descarga.php:1) in C:\wamp\www\umb_sao\scripts\descarga.php on line 7

    Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\umb_sao\scripts\descarga.php:1) in C:\wamp\www\umb_sao\scripts\descarga.php on line 8
    EAVB_CABTETMTCH

  • hay otras formas¿

  • Alguna forma para hacerlo con javascript?
    Gracias de antemano

  • Oye a la hora de descargar el archivo me da este mensaje de error

    Parse error: syntax error, unexpected T_STRING in /home/a4166163/public_html/descarga.php on line 8

    me podrias ayudar!

  • muchas gracias me sirvio

  • Pero mi problema es que quisiera forzar la descarga de un link o enlace externo.

    si existe un link externo a mi web que sea por ejemplo.

    http://goxex.miweb.com/files/ejemplo.jpg

    Ese archivo no está en mi web sin embargo pongo ese link pero quiero que la descarga sea forzada. ¿Como puedo hacer?

  • Quisiera saber si esto se puede hacer sin utilizar ninguna tecnología del lado del servidor(PHP, ASP, etc)

1 2

Deja un comentario

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

Gente linda que nos quiere

Donde mas estamos

news-0712

yakinjp


sabung ayam online

yakinjp

yakinjp

yakinjp

rtp yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

judi bola online

slot thailand

yakinjp

yakinjp

yakinjp

yakinjp

yakinjp

ayowin

mahjong ways

judi bola online

8941

8942

8943

8944

8945

8946

8947

8948

8949

8950

8951

8952

8953

8954

8955

9001

9002

9003

9004

9005

9006

9007

9008

9009

9010

9011

9012

9013

9014

9015

10031

10032

10033

10034

10035

10036

10037

10038

10039

10040

10041

10042

10043

10044

10045

10101

10102

10103

10104

10105

10106

10107

10108

10109

10110

10111

10112

10113

10114

10115

8956

8957

8958

8959

8960

8961

8962

8963

8964

8965

8966

8967

8968

8969

8970

9016

9017

9018

9019

9020

9021

9022

9023

9024

9025

9026

9027

9028

9029

9030

10046

10047

10048

10049

10050

10051

10052

10053

10054

10055

10056

10057

10058

10059

10060

10116

10117

10118

10119

10120

10121

10122

10123

10124

10125

10126

10127

10128

10129

10130

9036

9037

9038

9039

9040

9041

9042

9043

9044

9045

8876

8877

8878

8879

8880

8996

8997

8998

8999

9000

9046

9047

9048

9049

9050

9051

9052

9053

9054

9055

10061

10062

10063

10064

10065

10066

10067

10068

10069

10070

10131

10132

10133

10134

10135

10136

10137

10138

10139

10140

10001

10002

10003

10004

10005

10006

10007

10008

10009

10010

10011

10012

10013

10014

10015

10016

10017

10018

10019

10020

10021

10022

10023

10024

10025

10026

10027

10028

10029

10030

10141

10142

10143

10144

10145

10146

10147

10148

10149

10150

10071

10072

10073

10074

10075

10076

10077

10078

10079

10080

10081

10082

10083

10084

10085

10151

10152

10153

10154

10155

10156

10157

10158

10159

10160

10161

10162

10163

10164

10165

10086

10087

10088

10089

10090

10091

10092

10093

10094

10095

10096

10097

10098

10099

10100

news-0712