Foros del Web » Programando para Internet » PHP »

como descargar un archivo binario?

Estas en el tema de como descargar un archivo binario? en el foro de PHP en Foros del Web. Hola !! tengo este problemilla.. Tengo una aplicacion que recibe faxes y los guarda en una base de datos de MS Sql server 2000 estoy ...
  #1 (permalink)  
Antiguo 08/12/2008, 12:42
 
Fecha de Ingreso: abril-2008
Ubicación: Goppingen
Mensajes: 17
Antigüedad: 16 años, 8 meses
Puntos: 0
como descargar un archivo binario?

Hola !!

tengo este problemilla..

Tengo una aplicacion que recibe faxes y los guarda en una base de datos de MS Sql server 2000

estoy haciendo una pagina en Php que me liste los registros y me de oportunidad de descargar los archivos (en este caso son .pdfs) al hacer click en la liga del campo DATEI NAME..






la estructura de las tablas es la siguiente :



el codigo que me despliega la informacion de la lista es el siguiente :


<html>
<head>
<title>Lista de Faxes</title>

<?
include "estilos.php";
?>

</head>

<body bgcolor="#14285f" >
<table class="bd" width="100%"><tr><td class="hr"><h2>Imextrading Erhalten Fax Liste (letzte 100)</h2></td></tr></table>
<?

include "conecta.php";


$registros=mssql_query("select top 100 t1.id, t1.date, t1.full_subject, t1.result, t1.pages_transferred, t2.filename from dbo.fm_faxin t1 , dbo.fm_faxin_att t2 where t1.id = t2.id order by date desc") or die("Error SQL");


?>
<table class="bd" border="0" cellspacing="1" cellpadding="4" align="center">
<?
echo "<td class='hr'>DATUM</td>";
echo "<td class='hr' >ENTFERNT_ID</td>";
echo "<td class='hr'>ERGENNIS</td>";
echo "<td class='hr'>SEITEN </td>";
echo "<td class='hr'>DATEI NAME</td>";
echo "</tr>";


// aqui debo de pintar manualmente la tabla
while ($reg=mssql_fetch_array($registros))

{
$date = $reg["date"];
$full_subject = $reg["full_subject"];
$result = $reg["result"];
$pages_transfered = $reg["pages_transferred"];
$filename = $reg["filename"];

echo "<tr>";
echo "<td class='estilo1'>";
echo "$date";
echo "</td>";
echo "<td class='estilo1'>";
echo "$full_subject";
echo "</td>";
echo "<td class='estilo1'>";
echo "$result";
echo "</td>";
echo "<td class='estilo1' <center>";
echo "$pages_transfered";
echo "</td>";
echo "<td class='estilo1'>";
echo "<a href=trae_fax.php?cadena=$filename target=_blank >",$filename,"</a>";
echo "</td>";
echo "</tr>";

}


mssql_close($con);


echo "<table bgcolor=\"#FFFFFF\" CELLSPACING=\"2\" align=center style=\"border:3px outset white\" CELLPADDING=\"2\" FACE=\"WHITE\" >";

echo "</table>";

?>
<table class="bd" width="100%"><tr><td class="hr">Erhalten Faxen Liste Imextrading</td></tr></table>
</body>
</html>

la pregunta es :

mas o menos con que codigo puedo descargar el contenido del campo attdata de la tabla fm_faxin_att ?

alguna sugerencia ?

saludos y mil gracias por su ayuda
  #2 (permalink)  
Antiguo 08/12/2008, 12:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: como descargar un archivo binario?

Lo que haces es jugar con las cabeceras, si es una imagen (o un PDF en este caso) mandas el header:
Código php:
Ver original
  1. header("Content-type: application/pdf");
  2. echo $row['attdata'];

Saludos.
  #3 (permalink)  
Antiguo 08/12/2008, 14:11
 
Fecha de Ingreso: abril-2008
Ubicación: Goppingen
Mensajes: 17
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: como descargar un archivo binario?

Hola GatorV , antes que nada mil gracias por tu ayuda..

Ahora me pasa esto ..

Tengo un archivo llamado trae_fax.php :

<? header('Content-type: application/pdf');

?>
<html>
<head>
<title>Fax Liste</title>
</head>
<?

include "conecta.php";


$id=$_GET["id"];

$registros=mssql_query("select attdata from dbo.fm_faxin_att where id = $id ") or die("Error SQL");


while ($reg=mssql_fetch_array($registros))

{
$attdata = $reg["attdata"];
echo "$attdata ";

}

mssql_close($con);

?>

</body>
</html>

ahora lo raro es que al correrlo me sale el siguiente mensaje de error :



el campo se supone que es un binario de tipo Image

alguna sugerencia ?

saludos y gracias
  #4 (permalink)  
Antiguo 08/12/2008, 14:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: como descargar un archivo binario?

pero, lo que estas imprimiendo es HTML .... no PDF !!!

¿seguro que sabes lo que estas haciendo??




vaya, si es PDF ... no metas HTML ¿¿para que???

PDF es binario, y tu... imprimes texto .... debes imprimir solo lo necesario, pues...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 10:50.