Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer un fichier binaire avec PHP

Comment faire ?

Sujet résolu
3 août 2006 à 19:43:08

Bonjour
J'ai besoin de stocker un nombre de 0 à 255 dans un fichier, mais il faut absolument qu'il soit codé directement en binaire (l'Ascii ne fonctionnera pas).

Mais je ne sais pas comment, et ce serait étonnant que ce soit aussi simple qu'avec des fichiers ascii...

Si quelqu'un pourrait m'indiquer la marche à suivre je lui serai reconnaissant :)

Merci d'avance :)
  • Partager sur Facebook
  • Partager sur Twitter
3 août 2006 à 19:44:32

Euh en binaire ?
Expliques parce que je doute de ce que tu penses.
  • Partager sur Facebook
  • Partager sur Twitter
4 août 2006 à 0:25:50

Bon je balance tout, j'espère que vous ne m'en voudrez pas :

J'ai besoin de créer avec PHP un fichier dans lequel sera stocké un nombre sur 8 bits (de 0 à 255 quoi) pour ensuite être réutilisé dans un programme C.

Le seul souci c'est que je dois passer cette valeur à une fonction qui n'accepte que des entiers, donc un fopen classique ne fonctionnera pas (on obtiendra un tableau de 3 char contenant le nombre décimal correspondant à chaque chiffre ascii) c'est pourquoi j'aurais voulu enregistrer dans le fichier directement la valeur décimale, et non la valeur décimale des correspondances ascii de mes nombres :)
  • Partager sur Facebook
  • Partager sur Twitter
4 août 2006 à 9:02:54

J'ai pas trop compris tes explications un rien confuse.

Quel est le problème de l'écriture binaire dans un txt ?
Meianki t'as donné la fonction.
  • Partager sur Facebook
  • Partager sur Twitter
4 août 2006 à 9:53:11

Avec un $ouverture=fopen("test.txt", "wb"), t'ouvre bien en écriture binaire si je ne me trompe non ?
Donc tu devrais pouvoir créer le fihier que tu veux, en c'est une supposition.
Rregarde sur la doc tu devrait trouver ton bonheur je pense

---EDIT---

Après petite consultation de la doc :

Citation : docphp

To write 'true binary' files combine with pack() :

$a = 65530;
$fp = fopen('test.dat', 'w');
fwrite($fp, pack('L', $a));
fclose($fp);



http://fr2.php.net/manual/fr/function.fwrite.php (voir les commentaires)
  • Partager sur Facebook
  • Partager sur Twitter
4 août 2006 à 11:13:27

Merci je m'en suis sorti en écrivant les caractères correspondant aux codes ascii demandés :)
  • Partager sur Facebook
  • Partager sur Twitter
17 juillet 2019 à 13:05:29

insérer des données avec un formulaire dans un fichier binaire en php
  • Partager sur Facebook
  • Partager sur Twitter
18 juillet 2019 à 3:31:40

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter