Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dodatkowy warunek do licenia ilości linii w pliku
arek_inc
post 2.01.2015, 11:41:07
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 25.03.2003

Ostrzeżenie: (0%)
-----


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?

Ten post edytował arek_inc 2.01.2015, 11:41:54


--------------------
Arbeit macht frei
Go to the top of the page
+Quote Post
Turson
post 2.01.2015, 11:44:44
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


$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
Go to the top of the page
+Quote Post
arek_inc
post 2.01.2015, 12:02:20
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 25.03.2003

Ostrzeżenie: (0%)
-----


  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...


--------------------
Arbeit macht frei
Go to the top of the page
+Quote Post
Turson
post 2.01.2015, 12:08:11
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


  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()

Ten post edytował Turson 2.01.2015, 12:09:12
Go to the top of the page
+Quote Post
arek_inc
post 2.01.2015, 12:17:02
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 25.03.2003

Ostrzeżenie: (0%)
-----


Działa, dzięki smile.gif


--------------------
Arbeit macht frei
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.08.2025 - 06:39