Page 1 sur 1

ecrire un fichier en hexadecimal

Posté : 22 févr. 2006, 10:36
par kat
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

Posté : 22 févr. 2006, 14:23
par titerm
$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...

Posté : 22 févr. 2006, 16:35
par Hubert Roksor
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.

Posté : 24 févr. 2006, 11:02
par kat
Merci à vous