Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodatkowy warunek do licenia ilości linii w pliku
Forum PHP.pl > Forum > PHP
arek_inc
Witajcie, utknąłem w ostatnim miejscu pisania prostego skryptu PHP. Pomożecie? smile.gif

Przykładowa zawartość pliku lista.txt:

Cytat
losowyciagznakow 123 losowyciagznakow 123 losowyciagznakow 123 losowyciagznakow
losowyciagznakow 321 losowyciagznakow 321 losowyciagznakow 321 losowyciagznakow
losowyciagznakow 123 losowyciagznakow 123 losowyciagznakow 123 losowyciagznakow


Chciałbym znaleźć wszystkie linie, które mają "123". Problem mój polega na tym, że umiem albo znaleźć WSZYSTKIE linie (_SZUKANAFRAZA_ = \n), albo tylko ciąg "123" (_SZUKANAFRAZA_ = "123") przez co zamiast wniku 2, dostaję albo 3 albo 6 wink.gif

  1. $plik = "lista.txt";
  2.  
  3. if(file_exists($plik)) {
  4.  
  5. $linie = file_get_contents($plik);
  6. $wszystkie_linie = substr_count($linie, "_SZUKANAFRAZA_") + 1;
  7. echo $wszystkie_linie;
  8.  
  9. }


Pomożecie?
Turson
$linie dajesz explode po przejściu do nowego wiersza \n, potem lecisz pętlą każdy wiersz i szukasz czy zawiera 123, jak tak to go wypisujesz - chyba taki jest cel
arek_inc
  1. $lines = explode("\n", file_get_contents("lista.txt"));
  2. $count = 0;
  3.  
  4. foreach ($lines as $line)
  5. {
  6. if(stripos($lines[0], '123') !== false) $count++;
  7. }
  8. echo $count;


Zwraca niestety ilość wszystkich linii...
Turson
  1. if(strpos($line, 123)) $count++;


jak dalej cos nie tak to printnij tablice
var_dump($lines)

w sumie file_get_contents+explode mozna zastapic jednym file()
arek_inc
Działa, dzięki smile.gif
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.