Foros del Web » Programando para Internet » PHP »

Objetos OLE con PHP y Acess

Estas en el tema de Objetos OLE con PHP y Acess en el foro de PHP en Foros del Web. Hola: Estoy convirtiendo un script de asp en php que funciona bien, pero en php no logro que responda lo mismo, al parecer me hace ...
  #1 (permalink)  
Antiguo 06/06/2006, 11:20
 
Fecha de Ingreso: junio-2006
Mensajes: 2
Antigüedad: 11 años, 6 meses
Puntos: 0
Objetos OLE con PHP y Acess

Hola:
Estoy convirtiendo un script de asp en php que funciona bien, pero en php no logro que responda lo mismo, al parecer me hace una conversión de caracteres y no los manda en binario como debe ser.
Cualquier ayuda me sería de gran utilidad.
Muchas Gracias

Codigo en ASP:
<!--#include file="Connections.asp" -->
<%
TextSQL = "SELECT DISTINCTROW Config.* FROM Config;"
Set RsConfig = db.openRecordset(TextSQL)

Response.Buffer = true

set mstream = server.CreateObject("ADODB.Stream")
mstream.Type = 1 'adTypeBinary
mstream.Open
mstream.Write RsConfig("Logo")
mstream.position = 0

'¿Hay imagen?
if mstream.size < 10 then
mstream.Close
set mstream=nothing
Response.End
end if

'Header del BMP
B="B"
M="M"
'Buscando el Header BM
for i=0 to 512
x=mstream.Read(1)
z=cstr(x)
y= server.htmlencode(z)
if y=B then
Offset= i
end if
if y=M and i=offset+1 then
exit for
end if
next

Response.Clear
Response.ContentType="image/bmp"
Response.AddHeader "Pragma", "No-Cache"
Response.AddHeader "Content-Disposition", "inline;filename=logo.bmp"
mstream.position = Offset

Response.BinaryWrite mstream.Read
mstream.Close
set mstream=nothing
Response.End
%>

Codigo PHP:
<?php
ob_start();
include('Connections.php');
$TextSQL = "SELECT DISTINCTROW Config.* FROM Config;" ;
$conn->OpenRecordset("RsConfig",$TextSQL);

$mstream = new COM("ADODB.Stream");
$mstream->Type = 1; // 'adTypeBinary
$mstream->Open;
$mstream->Write($conn->recordset["RsConfig"]->Fields["Logo"]->Value);
$mstream->position = 0;

//'¿Hay imagen?
if ($mstream->size < 10)
{
$mstream->Close;
exit(0);
}

//'Header del BMP
$B="B";
$M="M";
$Offset=0;
//'Buscando el Header BM
for($i=0;$i<=512;$i++)
{
$x=$mstream->Read(1);
if ($x==$B)
{
$Offset = $i;
}
if (($x==$M) && ($i==$Offset+1))
{
break;
}
}

ob_clean();
header('Content-Type: image/bmp');
header('Pragma: No-Cache');
header('Content-Disposition: inline;filename="logo.bmp"');
$mstream->position = $Offset;
for($i=$Offset;$i<=$mstream->size;$i++)
{
$x = $mstream->Read(1);
echo $x;
}
$mstream->Close;
ob_flush();
?>
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:33.