PHP - WriteInt, WriteByte, usw

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

Der Eisvogel

Betreff: PHP - WriteInt, WriteByte, usw

BeitragDi, Nov 23, 2010 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

Ich versuche derzeit in PHP ein skript zu erstellen, dass Dateien erstellt, die Ints, Bytes und so Zeug enthalten sollen. In BM oder B3D würde ich dafür die Befehle WriteInt, WriteByte und Co verwenden. ABer in PHP scheint nur fwrite zu bestehen, womit das irgendwie nicht geht. Das hier geht auch nicht:
Code: [AUSKLAPPEN]
function fWriteByte($stream, $value) {
   $tmp = pack("C", $value);
   fwrite($stream, $tmp, 1);
}
function fWriteInt($stream, $value) {
   $tmp = pack("V", $value);
   fwrite($stream, $tmp, 4);
}


Gibt es in PHP irgendeine Möglichkeit Ints und Co in deinen Datei zu schreiben?

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Farbfinsternis

BeitragDi, Nov 23, 2010 9:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht würde es Dir helfen das Handbuch zu lesen bevor Du uns hier belästigst. Wenn Du die Datei mit der Option "b" zum schreiben öffnest werden die Daten binär und nicht als ASCII geschrieben.

Code: [AUSKLAPPEN]

$handle = fopen("myFunnyFile", "b");
Farbfinsternis.tv

Der Eisvogel

BeitragDi, Nov 23, 2010 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke! Aber bitte sei mal nicht so arrogant! Denn das funktioniert nicht. Ich bekomme immernoch keine Ints und Bytes geschrieben. Egal ob ich da b Ding setzte oder nicht.

MfG
DerEisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Silver_Knee

BeitragDi, Nov 23, 2010 18:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Bau den String aus Bytes mittels Chr zusammen.

BtbN

BeitragDi, Nov 23, 2010 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
fwrite kann nur strings schreiben, also muss das int in nen string.
Siehe dazu http://www.php.net/manual/en/function.pack.php

Der Eisvogel

BeitragDi, Nov 23, 2010 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Funktion pack benutzt ich bereits, wie in meinem ersten Post zu sehen ist, doch leider wird alles möglich geschrieben, jedoch keine Ints oder Bytes so wie ich sie brauche.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Hubsi

BeitragDi, Nov 23, 2010 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe etwas in der Richtung mal gebastelt:
https://www.blitzforum.de/uplo...?show=2298

Es hat seinen Zweck in dem Sinne nie erfüllt (also die Werte der Datei waren anders als erwartet), aber die Datei ist mit BB lesbar. Vielleicht hilft es Dir weiter.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Thunder

BeitragDi, Nov 23, 2010 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin PHP-Neuling und habe von pack nichts gewusst. Mein Ansatz wäre der gewesen (funktioniert auch bei mir):
Code: [AUSKLAPPEN]
function WriteByte($stream,$val){
    fputs($stream,chr($val));
}
function WriteShort($stream,$val){
    fputs($stream,chr($val&0xFF).chr(($val>>8)&0xFF));
}
function WriteInt($stream,$val){
    fputs($stream,chr($val&0xFF).chr(($val>>8)&0xFF).chr(($val>>16)&0xFF).chr(($val>>24)&0xFF));
}


mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group