die 4 ersten Zeilen einer Datei löschen

S

SunBurner2k

@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!
 
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:

PHP:
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
 
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?? :confused:
 
HI!



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

Anhänge

  • php.txt
    1,2 KB · Aufrufe: 452
PHP:
$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?? :)
 
@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!!!
 

Neue Beiträge

Zurück