Dieter Raber: textdatei problem

Beitrag lesen

Hallo,

also $datei=file(bla.txt");

genau, obwohl $inhalt_arr eher widergibt, was die variable beinhaltet. Ein Anfuerungszeichen fehlt, was im wahren Leben zu einen parse_error gefuehrt haette.

foreach ($datei as $dateineu) {
echo "$dateineu \n;

Das ist richtig, auch hier wuerde ich eher 'foreach ($inhalt_arr as $zeile)' schreiben, dann weist du auch in 6 Wochen, was du dir gedacht hast. print_r($datei) wuerde zum blossen Hingucken reichen (ein <pre> vor print_r() macht sich immer gut)

for(explode(" ", $datei;$datei > 14001;print $datei);

Das ist jetzt aber richtig boeses Zeug. explode() gibt ein Array zurueck, das in deinem Fall 14soviel und die IP enthaelt. Es sollte also so aussehen:

$inhalt_arr = file('bla.txt');
foreach ($inhalt_arr as $zeile)
{
  $temp_arr = explode(' ',$zeile); // sowas wie array ('14123', '127.0.0.1') als Ergebnis
  if($temp_arr[0] > 14000 && $temp_arr[1] == '127.0.0.1') // Ich hab deine Bedingungen nicht mehr im Kopf,
                                                          // aber so was war's doch, oder
  {
    print $zeile . "\n";  // oder was immer du damit machen willst
  }
}

An dieser Stelle etwas Weisheit

  • stell sicher, dass dein error_reporting immer auf 2047 oder E_ALL steht und display_errors auf on
  • gib deinen Variablen und Funktionen immer sprechende Namen
  • wenn du im Forum Code postest, mach das mit Copy und Paste, damit auch die Fehler in jedem Fall sichtbar werden
  • poste auch alle Fehlermeldungen mit
  • es schadet auch nichts, dazu Syntaxhighlighting des Forums zu benutzen (siehe Hilfe). Ich mache das nur nicht, um Farbe zu sparen ;-)

Gruß,

Dieter