Ende einer Datei

Haruzept

Mitglied
Hallo Zusammen,

ich habe eine While-Schleife, welche nach einem bestimmten Inhalt in einer .txt Datei sucht.
Wenn dieser Inhalt aber nicht drin ist, läuft die Schleife unendlich weiter.

Wie kann ich die Schleife abbrechen, wenn das Ende der Datei erreicht wurde?


Ich weiß nicht in welcher Zeile mein gewünschter Inhalt ist.
Zudem weiß ich nicht, wie lang die Datei ist.


Hoffe es kann mir jemand helfen.


Viele Grüße


Haruzept
 
Zeige mal lieber deinen Code, ich glaube da ist der Wurm drin. Eine Whileschleife würde ich bei Arrays nicht benutzen. Lieber for oder foreach.
Mit file() ist das doch gar kein Problem:
PHP:
$lines = file('datei.txt');
foreach( $lines as $line ){
  if( $line == 'meinSuchWort' ){
    echo 'gefunden';
    break;
  }
}
 
Hier mein Code.

PHP:
$login = ($_SESSION['User']);
$paket = file("Datei.txt");
$pz = 0;
$a = false;

while($a == false)
{

$benutzer = substr("$paket[$pz]" , 32, -1);
$benutzer2 = $benutzer;

if($benutzer2 === $login)
{
echo"bla";
$a=true;
}
$pz++
}
 
1. Warum speicherst du $_SESSION['User'] in $login? Die Zuweisung hat überhaupt keinen Effekt und ist unnötig
2. Warum legst du eine neue Variable $benutzer2 an der du $benutzer zuweist? Das ist ehrlich gesagt total unsinnig.

Bei Arrays lieber for oder foreach Schleifen benutzen:
PHP:
$paket = file('Datei.txt');
$size = sizeof($paket);
for( $i = 0; $i < $size; $i++ ){
  if( substr($paket[$i], 32, -1) == $_SESSION['User'] ){
    echo 'bla';
    break;
  }
}


Verwendete Funktionen:
sizeof()
break
 
Zurück