Witam, mam problem z usnięciem linijki z pliku txt, która zaczyna się zmienną (linijka może miec dowolny numer w pliku) i króta musi być usuwana po spełnieniu warunków.

Napisałem to tak:

  1. $zero=0;
  2. $sql = mssql_query("SELECT login,endate FROM ". GAME_VIPS_TABLE .";");
  3. while($pol = mssql_fetch_array($sql))
  4. {
  5. $zero++;
  6. $end = $pol['endate'];
  7. $kto = $pol['login'];
  8. if($end <= strtotime("NOW"))
  9. {
  10. $dfg = mssql_query("DELETE FROM ". GAME_VIPS_TABLE ." WHERE login='$kto';");
  11. $toDelete = $zero;
  12. $lines = file('plik.txt');
  13. unset($lines[$toDelete]);
  14. file_put_contents('plik.txt', $lines);
  15. }
  16. }


i w teorii $zero po zwiększeniu powinno przyjmować numer odpowiedni dla każdego login z sql (bo równocześnie z tworzeniem adnotacji w pliku robi się też wpis w sql w dokładnie tej samej kolejności), jednak rzeczywistość jest różna od teorii i usuwa mi każdy wpis z pliku (plik pozostawia czysty) lub po prostu nei robi nic choć powinno usuwać tylko wpisy, których czas zapisany w sql w formie strtotime np. X dni temu+14dni jest mniejszy bądź równy obecnemu czasowi.

zapis w pliku wygląda tak:

Kod
"tester" // Expires on """08-08-2010 23:17:39"""[UserEnd]


gdzie tester to login a data po Expires on to dokładna data kiedy wykona się wyżej wymieniony skrypt usunięcia tej linijki (przynajmniej w teorii).


Skrypt będzie się wczytywac automatycznie co godzinę automatycznie (w czym ktoś mi pomógł już na tym forum) i potrzeba mi tylko wiedzieć jak usunąć wpis w pliku gdzie dla użytkownika o loginie tester wybiła godzina ze zmiennej $pol['endate'] i tylko ten wpis, żaden inny.

Jest ktoś mi to w stanie wytłumaczyć albo pokazac jak?
Z góry dziękuję za każdą próbę pomocy.