[PHP] int of float naar een binair bestand schrijven

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Ik vermoed dat ik een negatief antwoord terugkrijg, maar is het mogelijk met PHP een (32-bits) integer als 4 bytes naar een bestand weg te schrijven in plaats van als string-representatie?

Als ik nu een fwrite($f, 18268) doe, komen deze vijf tekens in mijn bestand te staan. Wat ik echter wil, is dat mijn bestand 4 bytes groot wordt, en wel 0x5C 0x47 0x00 0x00.

Zelfde vraag gaat eigenlijk op voor uitlezen van een integer en later ook floats. Ik heb er nu een functie voor geschreven, maar dit is behoorlijke overkill, als je het mij vraagt!

Acties:
  • 0 Henk 'm!

Verwijderd

fopen in binary mode, en fwrite met sizeof(int) = 4

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

Hiervoor gebruik je pack().

bijvoorbeeld;
PHP:
1
2
3
$fp = fopen($file,'wb');
fwrite($fp,pack('L',$var));
fclose($fp);

[ Voor 64% gewijzigd door chem op 06-04-2005 11:41 ]

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
chem schreef op woensdag 06 april 2005 @ 11:39:
Hiervoor gebruik je pack().

bijvoorbeeld;
PHP:
1
2
3
$fp = fopen($file,'wb');
fwrite($fp,pack('L',$var));
fclose($fp);
Dank!