Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Edycja Znajdowanie i usuwanie treści w pliku txt
Forum PHP.pl > Forum > Przedszkole
fantek
Witam. Mam pewien problem więc może ktoś mi podpowie.

Mam np taki plik textowy:
  1. //Admins
  2. "STEAM_0:0:18712195" "99:z" //admin //dozywotni //Khal
  3.  
  4. //Zaloga MG
  5. "STEAM_0:0:11010231" "99:ga" //zaloga //dozywotni //Be quick or be dead aka solight
  6. "STEAM_0:1:39976404" "99:ga" //zaloga //dozywotni //Bondek
  7.  
  8. //Sloty dozywotnie + za zaslugi
  9. "STEAM_0:1:41928085" "a" //VIP //dozywotni //DuchowyGracz51[PL]
  10. "STEAM_0:0:54793529" "a" //VIP //dozywotni //Flatershaya_aka
  11.  
  12.  
  13. //||Automat
  14. "STEAM_0:1:47082167" "a" //||Date_add:2014-02-12 20:02:06 //C!NNeK[PL] //1_miesiac //||Date_remove:2014-03-14 20:02:06
  15. "STEAM_0:0:42945155" "a" //||Date_add:2014-02-11 18:32:42 //Mister me gusta //1_miesiac //||Date_remove:2014-03-13 18:32:42
  16. "STEAM_0:1:50619717" "a" //||Date_add:2014-02-10 23:04:16 //Pinkie Pie //1_miesiac //||Date_remove:2014-03-12 23:04:16
  17. "STEAM_0:1:79012998" "a" //||Date_add:2014-02-09 15:18:45 //szymon9143 //1_miesiac //||Date_remove:2014-03-11 15:18:45


Potrzebuje odczytać Date_remove porównać ją z dzisiejszą jeśli są równe usunąć cały wieresz.np

Jeśli w wierszu
  1. "STEAM_0:1:47082167" "a" //||Date_add:2014-02-12 20:02:06 //C!NNeK[PL] //1_miesiac //||Date_remove:2014-03-14 20:02:06

Date_remove:2014-03-14 20:02:06 == dzisiejsza data bądź pźniejsza usuń cały wiersz i zapisz do pliku bez tego wiersza.

Doszedłem o czegoś takiego ale nie wie czy dobrym tropem idę.
  1. $ffa_file_to_upload = file_get_contents ( '../vips_files/tf2_ffa_vips.txt');
  2. $date_to_remove = (date('Y-m-d'));
  3.  
  4. $explodes = explode('//||Automat',$ffa_file_to_upload);
  5. $explodes2 = explode("\n",$explodes[1]);
  6. if (in_array('Date_remove:'.$date_to_remove, $explodes2){
  7. usuń cały wiersz (ale nie wiem jak :(
  8. }


Może ktoś nasunie w jaki sposób coś takiego zrobić.
Spawnm
Ale kombinacja, czemu nie db? ;]

Daj explode, pętlę i potem kombinuj z unset($x[$key], $x[$key-1])
fantek
Udało mi się coś takiego wykąbinować:
  1. $date_to_remove = (date('Y-m-d'));
  2. $explodes = explode('//||Automat',$ffa_file_to_upload);
  3. $explodes2 = explode("\n",$explodes[1]);
  4.  
  5. $i=0;
  6. foreach($explodes2 as $explode2){
  7. if (strpos($explode2, 'Date_remove:'.$date_to_remove)){
  8. unset($explodes2[$i]);
  9. }
  10. $i++;
  11. }
  12. $implode = implode("\n",$explodes2);
  13. $open = fopen('test.txt','w');
  14. fwrite($open,$explodes[0].'//||Automat'."\n".$implode);
  15. }


Działa tak jak chciałem smile.gif Może się komuś kiedyś przyda .

PS. Tylko musiałem z Date_remove:2014-03-14 20:02:06 usunąć godzinę i zamieniłem kolejnościami:
  1. "STEAM_0:1:47082167" "a" //||Date_add:2014-02-12 20:02:06 //||Date_remove:2014-03-14 //C!NNeK[PL] //1_miesiac
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.