Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1974 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  un éditeur hexa en php?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un éditeur hexa en php?

n°904333
deltree
Posté le 21-11-2004 à 22:28:50  profilanswer
 

voila, j'aimerais programmer un éditeur hexadécimal entierement en PHP.
Je ne sais pas si c'est possible, mais déjà, en utilisant le code suivant:
 
$fichier = fopen("Ashe.mid","r" );
while (!feof($fichier)) {
    $buffer = fgets($fichier,255);
    echo $buffer;
}
 
j'ouvre le fichier "ashe.mid".
il me liste bien le contenu du fichier par paquet de 255.
j'ai essayé de changer 255 en 1, pour pouvoir effectivement voir chaque octets séparément, mais le programme plante plus ou moins à ce moment la.
si je pouvais convertir chaque octet en hexa, j'aurais déjà fais une bonne partie de ce que je veux faire.
 
quelqu'un voit comment faire?
suis je sur la bonne voie, ou alors je me plante completement?
est ce faisable?
Merci

mood
Publicité
Posté le 21-11-2004 à 22:28:50  profilanswer
 

n°904480
FonzieV
Posté le 22-11-2004 à 08:39:42  profilanswer
 

J'ai déjà testé de faire un truc du genre mais j'ai rencontré des pb quand je devais manipuler des chars de 0x00 à 0x20 (ce qui est normal car de 0x00 à 0x20 c des codes qui peuvent être interprétés comme non caractères)...
 
Good luck (il doit exister une solution ;).
 
++
 
Fonzie

n°904491
bob007
Posté le 22-11-2004 à 09:14:33  profilanswer
 

man printf je pense (chépa si en php y'a sprintf, mais qu'importe)

n°904696
deltree
Posté le 22-11-2004 à 14:32:27  profilanswer
 

printf existe et fprintf aussi, ca pourrait résoudre mon probleme.

n°905947
deltree
Posté le 23-11-2004 à 19:04:03  profilanswer
 

bon pour ceux que ca intéresse, j'ai trouvé:
 
<?
  $handle = fopen("drop.png", "rb" );
  $i=0;
  echo "<textarea rows=10 cols=90>";
  while (!feof($handle)) {
      $buffer=fgets($handle,2);
      if ($i==30){
        $i=0;
        echo "\n";
      }
      $i++;
      echo bin2hex($buffer)."-";
  }
  echo "</textarea>";
  fclose($handle);
?>
 
Vous pouvez voir le résultat à l'adresse suivante:
 
http://superdeltree.free.fr/espaceclients/midi.php
 
mais un truc me pose problème:
 
      $buffer=fgets($handle,2);
 
logiquement cette instruction place 2 octets  provenant du fichier dans "$buffer" , et par la suite:
 
      echo bin2hex($buffer)."-";
 
est sensée afficher 2 octets consécutifs en hexadécimal, hors le résultat affiché me donne 1 octet (a moins que je me trompe? FF en hexa c est une seul octet, pas 2, si?)
de plus , si j'essaye avec l'instruction
 
      $buffer=fgets($handle,1);  
 
(je change 2 en 1 donc) il devrait m'afficher les octets 1 par 1 en hexa, mais en réalité ca plante si je fais ca.
 
Quelqu'un a une explication la dessus?
 
PS: le programme a l'air de déconner avec IE, il marche avec firefox, pouvez vous confirmer?


Message édité par deltree le 23-11-2004 à 21:07:18
n°906035
deltree
Posté le 23-11-2004 à 21:01:12  profilanswer
 

on remarque que le fichier commence par la séquence:
89 50 4E 47 0D 0A 1A 0A
 
et après vérification il s'agit bien de la séquence de départ d'un fichier de type png, donc le programme renvoie un résultat correct.

n°906462
deltree
Posté le 24-11-2004 à 12:28:55  profilanswer
 

bon, j'ai encore un probleme:
j'arrive bien a afficher le fichier en hexa, maintenant, j'aimerais stocker la version modifiée dans un fichier, et je ne sais pas comment faire.
 
J'ai une séquence d'octets en hexa genre ca:
 
89504e470d0a1a0a0000000d4948445
20000000b0000000d0803000000482b
64090000000467414d410000afc8370
58ae90000001974455874536f667477
6172650041646f626520496d61676 ....etc....
 
qui constitue mon fichier.
j'aimerais simplement stocker ces octets (que j'ai modifié) dans un autre fichier.
Evidement, ce n'est pas un fichier texte, ici, il s'agit d'un fichier .png. donc, il faut que ce soit stocké en binaire.
est ce que quelqu'un s'est déjà penché sur ce probleme, et comment faire?
J'ai essayé avec la fonction "pack" mais j'ai du mal a m'en servir et ca n'a pas l'air de marcher.


Message édité par deltree le 24-11-2004 à 12:34:16
n°938320
kloporte
Posté le 05-01-2005 à 18:46:54  profilanswer
 

as-tu trouvé ??? passke j'ai exactement le même problème...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  un éditeur hexa en php?

 

Sujets relatifs
[C] Conversion nombre hexa en decimalediteur de texte en C (type vi)
Editeur html wysiwyg comme dreamweaver....Nouvel éditeur CSS
[recherche] Editeur RTF en applet java (online)Cherche un editeur graphique de table pour ORACLE SQL
éditeur webProblème d'utilisation des ressources avec l'editeur de VC++.NET :'(
Bizarrerie de l'editeur hexaJe suis à la recherche d'un éditeur Hexa ....
Plus de sujets relatifs à : un éditeur hexa en php?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR