Webwolf: Datei binär ändern

Hallo,

Ich bin den ganze Tag schon auf der Suche nach Code-Schnipseln, Tutorials, Hilfestellungen o.ä.

Ich möchte gerne eine BDS-Datei binär ändern.
Mit folgendem Code bin ich zunächst soweit gekommen, dass ich den Binärcode auslese, ändern und an die Datei anhänge.

Leider schaffe ich es hier nicht, den kompletten Inhalt ($data) der Datei zu löschen und durch den neuen Inhalt ($data_new) zu ersetzen.
Ich habe schon viel mit "Dateizeiger" etc. gelesen, aber das hat mir auch nicht wirklich weiter geholfen.

Im Grunde möchte ich nur die ersten 28 bits der Datei löschen, was aus dem Script hervor geht.

<?php  
	$filename = "archeractive.bds";  
	$data = file($filename);  
	$data_new = substr_replace($data,"",0,28);  
	if (is_writable($filename)) {  
		if (!$handle = fopen($filename, "a")) {  
			 print "Kann die Datei $filename nicht öffnen";  
			 exit;  
		}  
		// Schreibe $somecontent in die geöffnete Datei.  
		if (!fwrite($handle, $text)) {  
			print "Kann in die Datei $filename nicht schreiben";  
			exit;  
		}  
	  
		print "Fertig, in Datei $filename wurde $somecontent geschrieben";  
		fclose($handle);  
	  
	} else {  
		print "Die Datei $filename ist nicht schreibbar";  
	}  
?>

Wäre für jede kleine Hilfe dankbar.

  1. Hi,

    Leider schaffe ich es hier nicht, den kompletten Inhalt ($data) der Datei zu löschen und durch den neuen Inhalt ($data_new) zu ersetzen.
    Ich habe schon viel mit "Dateizeiger" etc. gelesen, aber das hat mir auch nicht wirklich weiter geholfen.

    Und wie sollen wir dir dann jetzt weiterhelfen, wenn du mit geschriebenen Erklärungen Probleme hast ...?

    Im Grunde möchte ich nur die ersten 28 bits der Datei löschen, was aus dem Script hervor geht.

    Du meinst vermutlich Bytes.

    Das simpleste wäre file_get_contents und file_put_contents zu verwenden - Daten einlesen, Anfang wegschneiden, Daten wieder wegschreiben.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hi,

      Du meinst vermutlich Bytes.

      Mit großer Wahrscheinlichkeit =D

      Das simpleste wäre file_get_contents und file_put_contents zu verwenden - Daten einlesen, Anfang wegschneiden, Daten wieder wegschreiben.

      Wow.

      Dass es so einfach geht hätt ich nie gedachte. Danke für die beiden Funktionen. Funktioniert super.
      Nur komisch, dass ich darüber noch nichts gefunden hab.