David: »» vor jeder zeile

Beitrag lesen

Hallo

while (!feof($l_hfile)) {
    $l_filerow = fgets($l_hfile);
    $l_completefile .= ">>".$l_filerow;
}
das verstehe ich nicht.

also, du hast da ja eine while-schleife, die durchlaufen wird, solange nicht das ende (feof) der datei erreicht ist.
in $l_filerow wird nun immer eine zeile eingelesen.
$l_completefile .= ">>".$l_filerow; ist die kurzschreibweise für
$l_completefile = $l_completefile.">>".$l_filerow;
es wird also an den bestehenden text erst ein ">>" angehängt und dann die ausgelesene zeile. und das solange bis die datei vollständig ausgelesen ist.
um es deinen ansprüchen nun gerecht zu machen musst du noch abprüfen, ob die zeile einen inhalt hat. also würde ich die schleife nun so gestalten:

while (!feof($l_hfile)) {
  $l_filerow = fgets($l_hfile);
  if (empty(trim($l_filerow))) {
    $l_completefile .= "\n";
  } else {
    $l_completefile .= ">> ".$l_filerow;
  }
}

falls also die zeile nach beseitigen der leerzeichen usw keinen inhalt hat wird der erste teil der if-anweisung ausgeführt, also nur ein zeilenumbruch angefügt. hat sie aber einen inhalt, so trifft ie else-anweisung zu und das ">> " wird davorgepackt

Grüße

David

--

"Nobody will ever need more than 640k RAM!"
1981 Bill Gates