Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]jak posortować plik wg ich zawartości?, wczytywanie zawartości wszystkich plików txt z katalogu - jak sortować
pafeu
post 17.12.2012, 20:24:36
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 9.10.2011

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


witam
w katalogu liczniki mam pliki txt z zapisaną ilością odwiedzin stron serwisu www
potrzebuję wyniki posortować wg ilości odwiedzin np: malejąco
do wczytywania plików z katalogu jak i wyświetlania treści tych plików użyłem poniższego kodu
  1. foreach (glob("liczniki/*.txt") as $filename)
  2. {
  3. $_TrescPliku = file_get_contents($filename) or die(' nieprawidłowa ścieżka do pliku');
  4. echo "</br>" .$_TrescPliku. " osób odwiedziło stronę " .rawurldecode(basename(substr($filename , 0 , -4)));
  5.  
  6. }


--------------------
ommo.pl - oświetlenie led i nie tylko
Go to the top of the page
+Quote Post
-Gość-
post 17.12.2012, 22:32:05
Post #2





Goście







sort
Go to the top of the page
+Quote Post
Pawel_W
post 17.12.2012, 22:40:43
Post #3





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


dodaj do tablicy: nazwa pliku niech będzie kluczem, a ilość odwiedzin wartością, następnie posortuj po wartości z zachowaniem kluczy
Go to the top of the page
+Quote Post
pafeu
post 18.12.2012, 00:32:32
Post #4





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 9.10.2011

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


wydłubałem taki kod ale on nie chce sortować
  1. foreach (glob("liczniki/*.txt") as $filename)
  2. {
  3. $_TrescPliku = file_get_contents($filename) or die(' nieprawidłowa ścieżka do pliku');
  4. $value = array("$filename"=>"$_TrescPliku");
  5. ksort($value);
  6. foreach($value as $klucz => $wartosc)
  7. echo $klucz." odwiedzono ".$wartosc." razy<br />";
  8. }



--------------------
ommo.pl - oświetlenie led i nie tylko
Go to the top of the page
+Quote Post
Pawel_W
post 18.12.2012, 00:36:30
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


eh...
  1. $tab = array();
  2. foreach (glob("liczniki/*.txt") as $filename)
  3. {
  4. $value = intval(file_get_contents($filename));
  5. $tab[$filename] = $value;
  6. }
  7. asort($tab);
  8. foreach($tab as $klucz => $wartosc)
  9. {
  10. echo $klucz." odwiedzono ".$wartosc." razy<br />";
  11. }


die możesz moim zadniem pominąć, bo skoro pozyskałeś ścieżkę globem to jest ona poprawna
Go to the top of the page
+Quote Post
pafeu
post 18.12.2012, 00:50:01
Post #6





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 9.10.2011

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


chciałbym przeanalizować ten kod - może jakieś podpowiedzi
np nie rozumiem co robi
  1. intval(file_g...


Ten post edytował pafeu 18.12.2012, 00:56:42


--------------------
ommo.pl - oświetlenie led i nie tylko
Go to the top of the page
+Quote Post
kristaps
post 18.12.2012, 05:20:01
Post #7





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


Cytat(pafeu @ 18.12.2012, 00:50:01 ) *
np nie rozumiem co robi
  1. intval(file_g...


Zwraca zawsze wartość INT dla podanej zmiennej czy ogólnie argumentu. Sprawdzasz w ten sposób czy dane z pliku .txt to liczby - w końcu nimi w założeniu mają być.
Go to the top of the page
+Quote Post
pafeu
post 27.12.2012, 21:57:41
Post #8





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 9.10.2011

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


dziękuję za pomoc yahoo.gif


--------------------
ommo.pl - oświetlenie led i nie tylko
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: 12.06.2024 - 05:22