Foros del Web » Programando para Internet » PHP »

Forzar descarga con PHP

Estas en el tema de Forzar descarga con PHP en el foro de PHP en Foros del Web. Hola en estos foros encontre un script ( http://www.forosdelweb.com/3028759-post11.html ) para forzar una descarga de documentos, pero aun no he podido echarlo a andar bien. ...
  #1 (permalink)  
Antiguo 18/06/2010, 17:01
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Forzar descarga con PHP

Hola en estos foros encontre un script (http://www.forosdelweb.com/3028759-post11.html) para forzar una descarga de documentos, pero aun no he podido echarlo a andar bien.

en el php (Forzar_Descarga.php) modifico la ruta a:

Código PHP:
Ver original
  1. $file_path = 'C:/wamp/www/intranet/descarga/'.$myZipRAR;

y en la pagina principal modifico los links y el arreglo:

Código PHP:
Ver original
  1. <div align="center">
  2.   <p>&nbsp;</p>
  3.   <p>&nbsp;</p>
  4.   <p>&nbsp;</p>
  5.   <p> <a href="<?php echo $_SERVER['PHP_SELF'];?>?page=001">7Zip</a>
  6.     <br />
  7.     <a href="<?php echo $_SERVER['PHP_SELF'];?>?page=002">Fire Fox</a>
  8.     <br />
  9.     <a href="<?php echo $_SERVER['PHP_SELF'];?>?page=003">Adobe Reader</a>
  10.     <?php
  11. $rootSv = $_SERVER['DOCUMENT_ROOT'];
  12. if(isset($_GET['page'])){
  13. $myFileZip = $_GET['page'];
  14. /*
  15. AVISO
  16. Ocultar nombre y entregar solo el file que se desee
  17. con esto se evita: ?page=index.php o ?page=confi.php
  18. NOTA
  19. esto solo es un ejemplo en, array si tienes los nombres de los file zip, rar, etc en una Base de Datos seria mejor
  20. */
  21. $arry = array(
  22. '001' => '7z465.exe',
  23. '002' => 'Firefox Setup 3.6.3.exe',
  24. '003' => 'AdbeRdr930_es_ES.exe'
  25. );
  26. //FIN
  27. if(isset($arry["$myFileZip"])){
  28. $myZipRAR = $arry["$myFileZip"];
  29. include("php/descarga.php");
  30. }else{
  31. echo '<br /><br /><font color="#FF3300"><b>Archivo no encontrado.</b></font>';
  32. }
  33. }
  34. ?>


Pero no he podido hacer descargas, alguien me pudiera echar una mano con esto?

GRacias y saludos.
  #2 (permalink)  
Antiguo 18/06/2010, 17:33
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Forzar descarga con PHP

se necesitan enviar headers especiales para ello, por lo que NO puedes volcar información a la salida del script, es decir, no puedes hacer: echo, print ni tener un bloque html antes de las llamadas a header.

debes de verificar primero si el archivo existe y luego volcar la pagina "archivo no encontrado", en caso contrario el script devuelve el archivo, no código html
  #3 (permalink)  
Antiguo 18/06/2010, 18:06
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Forzar descarga con PHP

Yo creo que es por el $file_path = 'C:/wamp/www/intranet/descarga/'.$myZipRAR;
Intenta así: $file_path = "/intranet/descarga/'.$myZipRAR;

Saludos.
__________________
eZakto™
  #4 (permalink)  
Antiguo 18/06/2010, 18:08
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Forzar descarga con PHP

MM.. pero los archivos si estan y el path para la ruta de los archivos esta correcto, los headers los trae el mismo ejemplo pero aun asi no me descarga nada.
  #5 (permalink)  
Antiguo 18/06/2010, 18:10
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Forzar descarga con PHP

Hola eZakto, lo acabo de intentar y nada, gracias por el comentario.

Etiquetas: descargas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:28.