Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]liczenie linii w pliku
jarmiar
post
Post #1





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


mam taki problem. otóż mam plik o pewnej nazwie
i zapisuje w nim dane na takiej zasadzie, że dopisywany jest tam kod html (tabele, kolory itp) a w nich dane pochodzące z formularzy.

i przykładowo dodaję jeden wpis i mam coś takiego:
  1. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
  2. <tr>
  3. <td width="100%">Tytu :<a href="jarmiar">Kolejna porcja rozrywki</a> </td>
  4. </tr>
  5. <tr>
  6. <td width="100%">Opis:&nbsp;Najlepszy blo rozrywkowy. Zajrzyj do mnie! </td>
  7. </tr>



wiem że jak dodam dwa wpisy to będzie tego 2 razy więcej.
teraz pytanie do Was jak z tego wyliczyć ile było wpisów?


-------------------------
do html'a też jest odpowiedni BBCode
~Cienki1980
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$count = count(file('twoj plik')); - liczba linii pliku
$x - liczba linnii jaka zajmuje jeden wpis

$liczbaWpisow = $count/$x; - liczba wpisow.

Trudne?
Go to the top of the page
+Quote Post
jarmiar
post
Post #3





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


ale ja to próbowałem już wcześniej tylko że mi to zwracało nieprawdziwe dane.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To pokaz jak probowales, bo najwyrazniej źle (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
jarmiar
post
Post #5





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


  1. <?
  2. $plik1 = file('katalog/biznes.php');
  3. if(empty($plik1))
  4.  {
  5.  echo('[pusto]');
  6.  }
  7.  else
  8.  {
  9.  $wynik = count($plik1);
  10.  $total = $wynik/5;
  11.  echo('['.$total.']');
  12.  }
  13. ?>


Ten post edytował jarmiar 13.05.2007, 08:14:43
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czemu dzielisz przez 5, skoro Twoj kazdy wpis ma 8 linii?

1)Posprawdzaj czy $wynik zawiera tyle linii co powinien.
2) ustosunkuj sie do tych 5 co pytalem
Go to the top of the page
+Quote Post
jarmiar
post
Post #7





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


no własnie $wynik zwraca mi cały czas 1

a tych lini jest rzeczywiście więcej.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
no własnie $wynik zwraca mi cały czas 1
W takim razie Twoj plik ma tylko jedna linijke (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Podejrzyj go ręcznie jak on wyglada, czy oby napewno dobrze.
Go to the top of the page
+Quote Post
jarmiar
post
Post #9





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


podglądam i ma tyle linijek ile podałem na samym początku
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




skoro Twoj plik ma 8 linijek, to kod:
  1. <?php
  2. $wynik = count(file('twoj plik'));
  3. echo $wynik;
  4. ?>

Nie ma prawa zwracac ci 1.
Cos motasz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jarmiar
post
Post #11





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


ok faktycznie jest jedna linia.


powiedz mi tylko jak ja mogę zrobić aby każdy nowy wpis zapisywało mi do osobnej linijki?

Ten post edytował jarmiar 13.05.2007, 19:23:36
Go to the top of the page
+Quote Post
uli
post
Post #12





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Cytat(jarmiar @ 13.05.2007, 18:19:10 ) *
ok faktycznie jest jedna linia.
powiedz mi tylko jak ja mogę zrobić aby każdy nowy wpis zapisywało mi do osobnej linijki?


Taki "magiczny" znaczek \n w miejscu gdzie chcesz kończyć linię przy zapisie?? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował uli 14.05.2007, 08:29:14
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #13





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Można pokusić się też o zliczenie wystąpień \n w pliku. Metoda jest dość odporna na błędy.
  1. <?php
  2. $lines=substr_count($str, "n");
  3. ?>
Go to the top of the page
+Quote Post
jarmiar
post
Post #14





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


próbowałem tak z tym "magicznym" znaczkiem \n:

  1. <?php
  2. $dane = '"n"<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%"><tr><td width="100%">Tytuł :<a href="'.$uzytkownik.'">'.$tytul_bloga.'</a> </td></tr><tr><td width="100%">Opis:&nbsp;'.$opis_bloga.' </td></tr></table>';
  3. ?>


ale to zamiast zaczynać się od noewj lini to zapisuje ten znaczek jako string do pliku i przy wyświetlaniu tego pliku wyświetla się:

\n i mój tekst.......scvsvfsv


dlaczego?
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $dane = "n".'reszta twoich danych';
  3. ?>
Go to the top of the page
+Quote Post
Pyton_000
post
Post #16





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Poza tym to "\n" na koniec linijki, bo będziesz miał znowu przekłamanie +1 linijki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jarmiar
post
Post #17





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


nie działa!!!!

zamiast zapisywać od nowej linijki to zapisuje to \n w tym pliku tekstowym i wyświetla tak samo na mojej stronie
Go to the top of the page
+Quote Post
uli
post
Post #18





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


Pokaż kod po modyfikacjach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przede wszystkim ten, który zapisuje.

Myślę, że to jest ta subtelna różnica, o której już prawie nikt nie pamięta: RÓŻNICA MIĘDZY APOSTROFAMI, A CUDZYSŁOWEM (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował uli 14.05.2007, 14:37:32
Go to the top of the page
+Quote Post
jarmiar
post
Post #19





Grupa: Zarejestrowani
Postów: 616
Pomógł: 12
Dołączył: 16.07.2006
Skąd: : getCity ( );

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


już sobie poradziłem, dzieki za pomoc!!!

pozdro (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 02:22