Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Leer Binario con php (https://www.clubdelphi.com/foros/showthread.php?t=70951)

marcos.ramos 21-11-2010 03:34:23

Leer Binario con php
 
Estoy tratando de leer un fichero binario de una BD almacenada en ficheros binarios, conozco la estructura del fichero, en cada fichero de este tipo se almacena diariamente entre 8 y 12 veces un nuevo bloque de datos. Cada bloque está constituido por tres escrituras desde un programa hecho en delphi... es decir en cada vez que escriben en el fichero entran un record, despues una matriz de int de 12 x 4, y después un arreglo de records....Interesting isn´t it?
Alguien tiene alguna idea???
Estoy tratando de resolver modificando este code:

$file=$_POST["archivo"];
$fp = fopen($file, "rb");
$data = fread($fp, 4);
$numero = unpack("i", $data);
echo $numero[1];

pero no funciona, por supesto no sé como manejar con cada lectura cuantos bytes leer...parece me estoy pasando o no llego.
Sí lo de rb es para leer binario y lo de la funcion unpack me saca el jugo pero no funciona todavía.
Help!!! Si alguien quiere el fichero me puede escribir a marcos.demiranda@gmail.com para ver si tienen éxito.

javier_ecf 22-11-2010 03:05:41

Hace tiempo escuche sobre una solucion para leer archivos binarios, se supone que es para comunicar AS3/AS2 y PHP, pero puedes acomodarlo a tus necesidades.
AMFPHP

Código:

http://www.codigometropoli.com/introduccion-a-amfphp/
Código:

http://es.w3support.net/index.php?db=so&id=503143

Ojala te sirva.

marcos.ramos 22-11-2010 04:45:32

Estoy chequeando
 
Estoy chequeando, pero me parece no me resuelve mi ptroblema de leer con php una BD en ficheros binarios con delphi...de todas formas, muchas gracias por la orientación.

Ñuño Martínez 22-11-2010 11:45:31

Si es una base de datos, ¿por qué no te conectas a ella? PHP tiene una extensa biblioteca que le permite conectarse a gestores de bases de datos muy diferentes. Incluso es relativamente fácil añadir más. ¿Qué gestor es?

javier_ecf 22-11-2010 20:40:14

Cita:

Empezado por Ñuño Martínez (Mensaje 382960)
Si es una base de datos, ¿por qué no te conectas a ella? PHP tiene una extensa biblioteca que le permite conectarse a gestores de bases de datos muy diferentes. Incluso es relativamente fácil añadir más. ¿Qué gestor es?

Primeramente pense en eso, pero leyendo cuidadosamente el mensaje llegue a la conclusion de que es una especie bd hecha a mano...?

La verdad no estoy seguro, ayudaria mucho si nos sacaras esa duda marcos.

marcos.ramos 22-11-2010 22:20:38

Ok, detalles.
 
Bien, me disculpo, es que no me he explicado bien, un centro científico ha guardado sus datos por años en ficheros binarios, un fichero cada día....son 30 años...a eso me refiero con una BD en ficheros, no, no es nada orientado a un servidor de ficheros como access o sqlite...no, se trata simplemente de un monton de ficheros todos con la misma estructura(12 veces(matriz de 12 X 4, record, arreglo de records))

Este es el code delphi que escribe en el fichero cada una hora:

function Save_Data(dat_path: string): boolean;
var
F: file;
begin
try
AssignFile(F, dat_path);
Rewrite(F, 1);
BlockWrite(F, measur, SizeOf(measur)); //12X4 byte
BlockWrite(F, fix, SizeOf(fix)); // record
BlockWrite(F, dat_a, SizeOf(dat_a)); //arreglo de records
CloseFile(F);
except
on EInOutError do
begin
case IOResult of
2: MessageDlg('El fichero de correcciones de datos no existe.', mtError, [mbOk], 0);
3: MessageDlg('No se encuentra el directorio del fichero de datos.', mtError, [mbOk], 0);
5: MessageDlg('Acceso denegado para abrir el fichero de datos.', mtError, [mbOk], 0);
32: MessageDlg('Error al abrir el fichero de datos.', mtError, [mbOk], 0);
end;
result := FALSE;
end;
end;
result := TRUE;
end;


Tengo que leer esos ficheros con php, y pasarlos a una BD en MySQL...


La franja horaria es GMT +2. Ahora son las 22:14:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi