# die 4 ersten Zeilen einer Datei löschen



## SunBurner2k (11. November 2001)

@die krassen Hardcore-Coder hier :

Folgendes Prob: In einer Datei sollen die ersten 4 Zeilen gelöscht werden, unter der Bedingung, dass *die Datei bereits über 120 Zeilen hat!!!*

Es dürfte reichen, wenn ihr mir die Befehle geben könntet, mit der ich a) Zeilen lösche (auch wenn nix drinnesteht) und b) die Anzahl der Zeilen bekomme. Die Prozedur kann ich dann selber proggen. 

thx im Vorraus!


----------



## suermel (11. November 2001)

Wieso liest du nicht einfach das ganze File aus und erhöhst einen Counter für jede Zeile um 1? Vielleicht gibt es dafür auch schon eine Funktion, denke ich aber kaum. Benutz doch einfach so was:


```
function CountLines ($filename) {
 $file_hndl = fopen ($filename, "r");
 while (!feof($file_hndl)) {
  $linet = fgets($file_hndl, 4098);
  $lines_count++;
 }
 return $lines_count;
}
```

Da du ja aber nur die Funktionen dazu haben wolltest.. hier 
http://download.php.net/manual/de/ref.filesystem.php


----------



## SunBurner2k (11. November 2001)

schön, jetz hab ich die Anzahl der Zeilen... und somit auch nur die Bedingung. Doch wie lösch ich die ersten 4 Zeilen davon??


----------



## maarten (11. November 2001)

HI!



ich habe eine Datei angehängt wegen dieser <censored> kleinen Textarea hier!


----------



## lexi (11. November 2001)

```
$array = file("datei.dat"); // Datei in Array speichern, jede Zeile ein Feld
if (sizeof($array) > 120) { // Wenn Datei > 120 Zeilen
array_shift($array); // Entfernt 1. Element (Zeile) aus Array
array_shift($array);
array_shift($array);
array_shift($array);
$fp = fopen("datei.dat","w"); // Datei zum Überschreiben öffnen
fwrite($fp,$array); // Daten in Datei schreiben
fclose($fp);
}
```

Müsste so funzen, is nicht getestet..
Bin ich jetzt eigentlich ein krasser Hardcore-Coder??


----------



## SunBurner2k (11. November 2001)

@lexi: sieht gut (und unkompliziert aus)  ...nix für ungut @maarten
ob du nun 'n krasser Hardcore-Codewr bist, weiß ich nich, zumindest biste einfallsreicher als ich 

naja, vielen Dank erstmal. Ich werd aber beide Lösungen ausprobieren, um zu sehen, welche "besser" läuft.

DANKE!!!


----------

