ecrire un fichier en hexadecimal

kat
Invité n'ayant pas de compte PHPfrance

22 févr. 2006, 10:36

Bonjour,

est-il possible d'écrire un fichier directement en hexadecimal ?

Exemple : il me faut écrire dans le fichier un nombre de 0 à 99 sur 1 octet. Pour cela le nombre est interprété à partir d'un code hexa : code hexa = 30h+nombre. Par exemple Le nombre 15 correspondrait au code hexa : 45h (30h+15) , que je dois ecrire dans le fichier de sortie.

Quelqu'un sait-il comment faire ça?

Meric beaucoup d'avance pour votre aide

Mammouth du PHP | 505 Messages

22 févr. 2006, 14:23

$foo=0x30;
$foo += 0x15;
unlink('/tmp/test.bin');
$fd=fopen('/tmp/test.bin','wb');
fwrite($fd,pack('c',$foo));
fclose($fd);
Je te renvoie a la doc de pack() pour les options...

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

22 févr. 2006, 16:35

Si tu n'écris qu'un seul octet tu peux même utiliser chr(). Par exemple:
file_put_contents('/tmp/test.bin', chr(0x45));
Au fait, tu as posté dans le forum des problèmes spécifiques à PHP5, tu aurais peut-être dû le mettre dans le forum PHP4 puisqu'il ne contient aucun élément spécifique à PHP 5.

kat
Invité n'ayant pas de compte PHPfrance

24 févr. 2006, 11:02

Merci à vous