Foros del Web » Programando para Internet » PHP »

Download!!!

Estas en el tema de Download!!! en el foro de PHP en Foros del Web. Hola Foromaniaweb's Pues dejenme les cuento que estoy tratando de desarrollar una aplicacion en la cual guardo archivos(documentos x) en una DB, esta ya funciona ...
  #1 (permalink)  
Antiguo 11/02/2004, 14:14
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 14 años, 4 meses
Puntos: 1
Download!!!

Hola Foromaniaweb's

Pues dejenme les cuento que estoy tratando de desarrollar una aplicacion en la cual guardo archivos(documentos x) en una DB, esta ya funciona digamos que el subir los documentos y guardarlo ya esta, lo que no he podido hacer (bueno en teoria funciona pero en un navegador de mozilla o netscape que es lo mismo pues) lo que pasa es que en navegadores IE no funciona del todo... aqui es en donde tengo problemas .. º.º ..

.. '.' .. Como puedo hacer para que en IE solo se permita (oblige) bajar (descargar) los archivos de la DB sin que antes quiera abrirlos en la maquina del cliente???

No estoy seguro del todo pero parece que IE busca hacer una llamada a una API para tratar de abrir el programa que pueda visualizar el documeto que se quiere descargar (.TXT, PDF, EXEL, etc...) y me manda un error.

Que puedo hacer?

Bueno espero y me puedan ayudar ya sea con una solucion y/o algun link que me permita enterder un poco mas este royo
se los agradecere...
__________________
Kike Lee
Paz && Bien
  #2 (permalink)  
Antiguo 11/02/2004, 14:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En las FAQ's de este foro tienes un excelente ejemplo ... que hasta te permite opción "resume" por si la conexión se corta al bajar tu archivo ...

En su base .. el tema de que un navegador interpreta los datos que se le envian como "para descargar" o como para "intentar visualizarlo/interpretarlo" depende de las cabeceras HTTP que uses .. ejemplos tienes en el foro y en la FAQ mencionada:

Ejemplo usando el buscador:
http://www.forosdelweb.com/search.ph...der=descending

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 12/02/2004, 12:11
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 14 años, 4 meses
Puntos: 1
download desde la DB

Hola Cluster

Bueno explico el problema que tengo, tal ves no me explique antes, espero porder hacerlo ahora pues....

El asunto es que estoy guardando documentos (type: .doc, .txt, .pdf) en una tabla (utilizo MySQL) me imagina que su estructura ya es algo conocida (FileName, MimeType, Description, FileData), creo no tener problema con el asunto de cargar los documentos en dicha tabla, no hay problema hasta aqui.

Mi problema es a la hora de quererlos visualizar y/o descargar, este es una copia del script que encontre y que estoy tratando de utilizar para hacer lo que quiero:

Código PHP:
   // Consulta del Usuario a los archivos
   
$sql "SELECT FileName, MimeType, FileData FROM filestore WHERE ID = '$id'";
  
   
$result = @mysql_query($sql); // Error de la base de datos
   
if (!$result) die("Error de la base de datos:  " mysql_error());
    
   
$filename mysql_result($result,0,"FileName");
   
$mimetype mysql_result($result,0,"MimeType");
   
$filedata mysql_result($result,0,"FileData");
    
   if (
$action == "dnld") {
      if (
strpos($HTTP_USER_AGENT,"MSIE"))
         
$mimetype "application/x-download";
      else
         
$mimetype "application/octet-stream";
   }

   
header("Content-disposition: filename=$filename");
   
header("Content-Type: $mimetype");
   
header("Content-Length: " strlen($filedata));

   echo(
$filedata);
   exit(); 
Supongo que la bronca esta en como se debe de abrir los documentos como me comentas Cluster a la hora de querer abrirlo y o descargarlos (creo que debo comentar que esto sucede en el IE del mugroso windows) ya que en Netscape todo parece funcionar bien, en IE ma manda un mesaje de error con el API (creo que ya lo comente antes).

En ahora pues les pido su comentario y ayuda al respecto, el asunto es que esto debe de funcionar en el IE, otra hay una forma de descargarlos sin que el IE trate de abrirlos!!!!

Bueno espero regaños, ayuedas, comentarios al respecto, pues agradesco su tiempo para leer este, Gracias .. º.º ..
__________________
Kike Lee
Paz && Bien
  #4 (permalink)  
Antiguo 12/02/2004, 17:48
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 14 años, 4 meses
Puntos: 1
Una Solucion!!!!!

Hola de new

Bueno despues de varios intentos y de ver varios script y un poco de documentacion y un poco de suerte aqui esta la solucion:

Código PHP:
header("Content-type: $MimeType");
header("Content-Disposition: ; filename=\"$FileName\""); 
print 
$contenido
para descargarlo en IE y de igual forma para que el mugroso API ejecute el programa para visualizarlo. Bueno de cualquier forma solucuinado por el momento funciona a pesar de el IE.

Pero si encontrais una mejor solution favor de aportar, Gracias. .. º.º ..


__________________
Kike Lee
Paz && Bien
  #5 (permalink)  
Antiguo 13/02/2004, 10:00
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 14 años, 4 meses
Puntos: 1
OJO

Bueno aqui de new

Con la novedad, sabes estoy utilizando sessiones y en el momento que quiero bajar los documentos que estan almacenados pues truena la aplicacion, en otras palabras no se descargan ni se visualizan, solo los de texto!!.

Como les comente esta aplicacion deberia de funcionar en el Internet Explorer y me habia emocionado porque ya jala, solo que fuera de la session, no se porque, me parece algo curioso (no entender), ya que la aplicacion la estuve probando fuera de las sessiones.

Asi que aqui de new
  • [1] Alguien sabe que puede estar ocurriedo...
    [2] Que puedo hacer....
    [3] Puedo hacer que el mugroso IE solo baje los documentos sin que intente abrirlos (y evitando problemas con el API), simplemente descargarlos.

Bueno como siempre agradezco sus tiempo para leer y sobre todo por aportar.

Gracias .. º.º ..
__________________
Kike Lee
Paz && Bien

Última edición por kikelee; 13/02/2004 a las 10:03
  #6 (permalink)  
Antiguo 13/02/2004, 10:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues el problema que tienes parece ser que es por las cabeceras que ya emite PHP para el uso de las sesiones y las que tu emites luego para gestionar la descarga ..

session_cache_limiter()
http://www.php.net/manual/en/functio...he-limiter.php

Fijate en los comentarios de los usuarios .. Ahí cada uno da una solución al problema .. pruebalas y nos comentas.

Hay unos que dicen que indicando "private" u otras cabeceras en el control del caché con esa función .. otros lo hacen directamente con cabeceras HTTP (usando header() ) .. en fin, como hay variedad lo mejor es que lo pruebes (y de paso nos das tus impresiones sobre el tema y como te fué).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 19:27.