[ PHP ] Hexa en fichier...

Hexa en fichier... [ PHP ] - PHP - Programmation

Marsh Posté le 04-12-2002 à 14:52:39    

j ai des valeurs hexas du type :

05 a5 f8 ff 55 fd d6


j'aimerai les ecrire dans un fichier mais directement en hexa...
( on ne verai donc pas l'hexa dans le fichier mais des carracteres )
j arrive pas a soit

  • convertir l hexa en ces fameux carractere et les ecrire ensuite dans le fichier

soit

  • ouvrir un fichier en ecriture hexa directement


Help :)


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-12-2002 à 14:52:39   

Reply

Marsh Posté le 04-12-2002 à 15:07:09    

J'ai rien compris !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 04-12-2002 à 15:10:50    

je ré-explique car je suis tres embété sans solution...
 
en php je génére des valeurs hexa
je veux les erire dans un fichier,
( ex si on ouvre un fichier mp3 avec le bloc note on a plein de carracteres bidons dans tous les sens,
le meme fichier avec un editeur hexa donne des valeurs hexa )
moi j ai ces valeur et je veux ecrire dans un fichier la corespondance avec les carracteres bidons
pour en faire un fichier mp3 valide ( dans mon exemple )
donc soit j ouvre un fichier en ecriture hexa directe ( commande specifique ? )
soit je traduit mes codes exa en "carracetres bidons" que j ecrit ensuite dans un fichier avec fopen ("classique" )...
 
suis-je clair ?


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-12-2002 à 15:24:32    

help...


---------------
Perdu ? Vous êtes ici : --> *
Reply

Marsh Posté le 04-12-2002 à 15:32:28    

Tu dois pouvoir utiliser la fonction chr. Qui te transformes ta valeur hexa en son caractère ASCII et ensuite tu écris la chaîne résultante dans ton fichier avec fwrite.


---------------
each day I don't die is cheating
Reply

Marsh Posté le 04-12-2002 à 15:33:28    

Combinaison de plusieurs fonctions :
http://www.php.net/manual/fr/function.hexdec.php
http://www.php.net/manual/fr/function.chr.php
pis http://www.php.net/manual/fr/function.fwrite.php
 
Tu convertis ton hexa en décimal puis tu retrouves le caractère correspondant puis tu écris ce caractère dans ton fichier.
 
EDIT : grillaid :o


Message édité par Taiche le 04-12-2002 à 15:33:45

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 04-12-2002 à 15:38:06    

Yes, c'est bien ce que j'avais compris, en fait, mais j'aime bien en être sûr pour pas dire des conneries et utiliser ma précieuse cervelle pour rien ;-)
 
Donc pour ouvrir un fichier hexa (je préfère binnaire comme terme en fait...) ben y'a rien de compliqué :
 
http://www.php.net/manual/fr/function.fopen.php
http://www.php.net/manual/fr/function.fread.php
http://www.php.net/manual/fr/function.fclose.php
http://www.php.net/manual/fr/function.dechex.php
http://www.php.net/manual/fr/function.ord.php
http://www.php.net/manual/fr/function.substr.php
 

<?php
 
$filename = "mon_fichier.mp3";
$size = filesize( $filename );
 
// Ouverture en lecture / écriture du fichier. 'wb+' sous windows !
$ficHandle = fopen( $filename, "w+" );
 
// Lecture dans une string
$contenu = fread( $ficHandle, $size );
 
// Fermeture
fclose( $ficHandle );
 
// Reste plus qu'à convertir chaque caractère en son code HEXA
for( $i=0; $i<$size; $i++ )
{
    echo( dechex( ord( substr( $contenu, $i, 1 ) ) ) . " " );
}
 
?>


 
Pour écrire, ben c'est pareil !
 
Faut juste trouver dans la doc les fonctions qui vont bien !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed