Hallo,
Ich wuerde mal annehmen, da du, wie du weiter oben schreibst, noch ganz am Anfang stehst, bisher noch keine vernuenftigen Debugstrategien hast. Du solltest Dir wirklich die letzten Saetze aus meinem letzten Posting zu Herzen nehmen. Wenn du nicht weisst, was in einer Variablen steht, solltest du das mit print_r() oder var_dump() ueberpruefen. Mit dieser Bemerkung im Hinter- und entsprechenden error_reporting im Dateikopf machen wir uns auf die Suche:
Schreib in deine Testdatei mal ein paar Zeilen, die die verschiedenen Kombinationen aus IP und Zaehler widerspiegeln, also ein, zwei Beispiele, die erfolgreich sein sollten und ein paar, auf die deine Bedingungen nicht zutreffen.
Dann nimmst du den Code aus dem letzen Posting mit ein paar Ergaenzungen:
error_reporting(2047); // man kann es garnicht oft genug sagen
print '<pre>';
$inhalt_arr = file('test_datei.txt');
foreach ($inhalt_arr as $zeile)
{
$temp_arr = explode(' ',$zeile); // sowas wie array ('14123', '127.0.0.1') als Ergebnis
// jetzt kommt was neues
print_r($temp_arr);
/* Das sieht dann so aus
Array
(
[0] => 14123
[1] => 127.0.0.1
)
Bei genauem Hinsehen, wirst du feststellen, dass hinter der IP noch eine Leerzeile steht, $temp_arr[1] ist also nicht '127.0.0.1', sondern "127.0.0.1\n". Wenn Du file() benutzt, ist es sinnvoll, alle Zeilen zu trimmen.
Also ein neuer Versuch:
foreach ($inhalt_arr as $zeile)
{
$zeile = trim ($zeile);
$temp_arr = explode(' ',$zeile); // sowas wie array ('14123', '127.0.0.1') als Ergebnis
// jetzt kommt was neues
print_r($temp_arr);
/* Das sieht dann so aus
Array
(
[0] => 14123
[1] => 127.0.0.1
)
Schon besser, oder? Ich habe da gestern abend nicht dran gedacht, vermute aber, dass das dein Problem ist. Wie schon erwaehnt, mit der richetigen Debugstrategie und etwas Erfahrung fallen dir soche Sachen selbst auf.
Noch was zur Terminologie:
aber die funktion hat irgendwo einen fehler, denn er printet das echo nicht
Mein Code war keine Funktion, und echo kam darin auch nicht vor. Es ist uns hier im Forum wichtig, dass man sich korrekt ausdrueckt, nicht weil wir solche Korinthenkacker waeren, obwohl es natuerlich auch davon einige gibt, sondern damit Zusammenhaenge jedem sofort klar werden und keine Missverstaendnisse auftauchen.
soll ich das mit fopen, fwrite und fclose verwiklichen?
Das ist schon ok, du musst aber auf die Parameter achten, die file() verlangt (a,r,w und sowas), da du dir sonst u.U. die Logdatei immer wieder ueberschreibst. Ab PHP 5 kannst du auch file_put_contents() nehmen.
Gruß,
Dieter