Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo

ich habe eine Binärdatei ca 55mb groß.Ich würde diese gerne per PHP Script auslesen,aber nur so das immer nur 4 stellen gelesen werden,diese dann in eine Text Datei geschrieben werden,dann die nächsten 4 stellen gelesen werden und in der TXT Datei einen neue Zeile beginnt in der die neuen 4 Stellen geschrieben werden.

Naja ich hoffe ihr könnt mir da Helfen;)

Vielen Dank im Voraus

Geschrieben

Was genau sind bei Dir die 4 Stellen. Wo beginnen diese? Sind die '4 Stellen' 4 unterschiedliche Positionen im File? Wieviele Zeichen sollen gelesen/geschrieben werden?

Geschrieben

Hallo erstmal Danke für die Antworten von euch.

So mal ein bsp:

43454545454665656666666666666666666666666666666666666666

Also oben meine Binärdatei,es sollen jetzt in eine Text Datei wie folgt geschrieben werden.

4345

4545

4546

immer vier Stellen fortlaufend untereinander.

Geschrieben

möchtest du jetzt die fertige lösung?

php bietet auch funktionen zum verarbeiten von dateien (fopen,fread,fseek,...)

der grobe ablauf:

zeichen aus datei lesen

zeilenumbruch anhängen

zeichen schreiben, nächste zeichen lesen

was also ist das problem?

Geschrieben

Hallo

erstmal Danke für deine Antwort.

Ja ich weiss ich versuche es ungefähr so:

$datei = "struct.bin"; 
$array = file($datei);
echo $array[5];
$handler = fOpen($dateiname , "a+");
$dateiname = "test.txt";
fWrite($handler ,$array[5]);
fClose($handler);
$text = "array[5]\n";
$dateiname = "test.txt";
$handler = fOpen($dateiname , "a+");
fWrite($handler , $array);
fClose($handler); [/PHP]

So echo gibt er nur eine zeile aus er soll aber position 1 bis4 usw ausgeben.

Naja hoffe du kannst mir bissl helfen:rolleyes:

Geschrieben

zum einen ist es ungünstig die 55MB datei per file() zu lesen

hier besser fopen(); fread() benutzen.

$array[5] is einfach die 5te zeile der datei.

das $handler = fopen($dateiname, "a+"); dürfte fehlschlagen weil $dateiname noch gar nicht definiert ist.

das lesen und schreiben sollte in einer schleife passieren, da es sonst ja nur genau einmal passiert.

warum du $handler schließt um es dann wieder zu öffnen ist mir auch nicht klar und schon gar nicht warum du $array in die datei schreibst.

allgemein, überleg dir sinnvolle namen für variablen.

Geschrieben

Ok das mit dem Handler hab ich auch gesehen....

Gibts vielleicht ein Tut wo genau das erklärt wird, da ich mich noch nicht lange damit beschäftige .

Das mit der Schleife und der position.

Geschrieben

PHP: fread - Manual

das letzte beispiel macht die grundlegende vorgehensweise deutlich.

nur das du eine lokale datei ließt und nur jeweil 4byte statt 8kbyte.

das was du ließt schreibst du gleich in die neue datei und hängst noch ein "\n" bzw "\r\n" oder auch PHP_EOL an.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...