lecture fichier en hexa??

lecture fichier en hexa?? - PHP - Programmation

Marsh Posté le 14-02-2005 à 11:36:54    

Salut,
 
Je cherche a pouvoir lire un fichier en hexadecimal?
 
merci d'avance
 
damien

Reply

Marsh Posté le 14-02-2005 à 11:36:54   

Reply

Marsh Posté le 14-02-2005 à 11:40:11    

ord()
 
update : mauvaise réponse :p


Message édité par couak le 14-02-2005 à 11:40:36
Reply

Marsh Posté le 14-02-2005 à 11:41:26    

 :(

Reply

Marsh Posté le 14-02-2005 à 11:42:16    

je ne comprend pas : ton fichier contient des chiffres en hexadécimal ?

Reply

Marsh Posté le 14-02-2005 à 11:42:57    

en fait pour etre plus précis je cherche a ouvrir un fichier image

Reply

Marsh Posté le 14-02-2005 à 11:44:20    

damd22 a écrit :

en fait pour etre plus précis je cherche a ouvrir un fichier image


 
Et donc ? Quel est le problème ?  :o

Reply

Marsh Posté le 14-02-2005 à 11:46:55    

Ouvre ton fichier en mode binaire, puis utilise fread.
 
Pour les fichiers images regarde du cote de la lib GD, peut-etre que ce que tu cherches a faire a deja ete implemente dedans.

Reply

Marsh Posté le 14-02-2005 à 11:48:23    

je m'explique plus: je cherche à lire le fichier image en hexa,puis créer un fichier RTF avec le format hexa. Si je lis avec fwrite, j'obtiens des caractères bizarre....!

Reply

Marsh Posté le 14-02-2005 à 11:49:07    

damd22 a écrit :


Je cherche a pouvoir lire un fichier en hexadecimal?
 
en fait pour etre plus précis je cherche a ouvrir un fichier image


 
tu veut traiter en PHP le format d'image ?
Si c cela regarde plutot la bib GD fournit generalement avec PHP. tu pourras faire quelque petite modif sur t images (Ajout de texte, redimentionnement...)

Reply

Marsh Posté le 14-02-2005 à 11:51:48    

damd22 a écrit :

je m'explique plus: je cherche à lire le fichier image en hexa,puis créer un fichier RTF avec le format hexa. Si je lis avec fwrite, j'obtiens des caractères bizarre....!


 
hein ?  :heink:  

Reply

Marsh Posté le 14-02-2005 à 11:51:48   

Reply

Marsh Posté le 14-02-2005 à 13:11:58    

oups! j'ai ecris le message un peu rapide ( j'allais manger!!). Donc je vais essayer d'expliquer clairement mon problème: je suis en train d'ecrire un script php pour convertir un fichier HTML en RTF; de ce fait pour inserer une image dans un document RTF ( en rapport avec une balise HTML <IMG src="..."> ), je dois mettre {\*\shppict {\pict \jpegblip \picw800 \pich50 (un cas precis bien sur) suivi du fichier image en hexadécimal. Je recupère donc le chemin de l'image dans la balise HTML, puis je souhaite l'ouvrir,copier son contenu en HEXA dans le fichier RTF à la place convenu. ( Sinon, il est possible de l'inserer en binaire, mais comment l'ouvrir en binaire?). J'espere ke j'ai été plus clair!!

Reply

Marsh Posté le 14-02-2005 à 13:17:33    

bin tu fais un simple fread !
puis tu fait un sprintf avec %x pour avoir la valeur en hexa


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-02-2005 à 13:39:17    

je comprend pas trop: voici le code :
 

Citation :

$fp=fopen($fichier,"r" )
$contenu=fread($fp,filesize($fichier));
$contenu_hexa=sprintf ('%X',$contenu);


 
est dans $contenu_hexa j'ai 'O'(dans $contenu j'ai bien des choses en ASCII);

Reply

Marsh Posté le 14-02-2005 à 14:02:30    

Code :
  1. $fp=fopen($fichier,"r" );
  2. $contenu=fread($fp,filesize($fichier));
  3. $contenu_hexa="";
  4. $z = strlen($contenu);
  5. for($i=0;$i<$z;$i++)
  6.   $contenu_hexa .= sprintf('%X',ord($contenu{$i}));
  7. echo $contenu_hexa;


 
:)


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-02-2005 à 14:06:54    

MERCI ;)

Reply

Marsh Posté le 14-02-2005 à 14:38:13    

encore un petit pb : j'obtiens bien le code HEXA mais il n'est pas entier. Je m'explique quand il y a plusieur 0 à suivre, il y en a de supprimer ( exemple: code réel :"FFD8FFE00010..." et code obtenu:"FFD8FFE0010..." il manque un zero dans la suite de trois). Ce problème rend l'image illisible

Reply

Marsh Posté le 14-02-2005 à 14:43:34    

essaye avec ca !
$contenu_hexa .= sprintf('%02X',ord($contenu{$i}));


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-02-2005 à 14:50:19    

c mieux!! Merci bcq! peux tu m'expliquer rapide la différence avec le précedent?
 
you are the king :sol:

Reply

Marsh Posté le 14-02-2005 à 14:56:01    

le 02 permet de d'avoir une taille fixe de 2 et de remplir avec des 0 le cas echeant :)


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-02-2005 à 15:17:55    

damd22 a écrit :

c mieux!! Merci bcq! peux tu m'expliquer rapide la différence avec le précedent?
 
you are the king :sol:


 
Juste un détail : la doc, c'est pas pour les chiens.
 
Je te recommande de télécharger la doc de PHP au format .chm qui est très pratique pour cherche qqc que ce soit sous windows ou sous Linux ou mac.  ;)  

Reply

Marsh Posté le 14-02-2005 à 18:26:34    

et tu la trouve ou?

Reply

Marsh Posté le 14-02-2005 à 18:26:54    

en fait merci bcq KangOl

Reply

Marsh Posté le 14-02-2005 à 19:13:24    

sur le site de php :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 14-02-2005 à 21:52:38    

damd22 a écrit :

et tu la trouve ou?


 
Ici : http://de3.php.net/get/php_manual_ [...] net/mirror
 
T'as plus qu'à cliquer.  :)  

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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