Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Zliczanie kliknięć w PHP
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Zliczanie kliknięć w PHP
Technologie webowe

Zliczanie kliknięć w PHP

WebInside.pl
Ostatnia aktualizacja: 25.07.2003
WebInside.pl
Udostępnij
Udostępnij

Jeżeli potrzebujesz skryptu który będzie zliczał ilość kliknięć w dany link, oparty na plikach tekstowych, to ten artykuł tłumaczy dokładnie jak taki napisać.

Zawartość
Założenia:Funkcja licz:Funkcja wyswietl:

Zajmiemy się skryptem do zliczania kliknięć opartym na pliku txt. Tym razem sprawa jest bardzo prosta, więc nie skorzystamy z obiektów tylko zbudujemy jedną prostą funkcję. Na początek oczywiście kilka założeń:

Założenia:

-> skrypt korzysta z jednego pliku tekstowego -> dane będą zapisywane w jednej linii (php nie ogranicza długości linii i tak będzie wygodniej) -> dane zapisane w pliku będą miały format nazwa strony – ilość kliknięć -> jako separatora użyjemy dwóch znaków „|”

Funkcja licz:

Na dobry początek trzeba się zastanowić jak wyciągać nazwę pliku na którym aktualnie operuje skrypt. Użyjemy do tego zmiennej $PHP_SELF która przechowuje adres aktualnego pliku. No ale my chcemy nazwę pliku bez adresu… użyjemy do tego funkcji basename(), która zwraca nazwę pliku z podanej ścieżki. Jedna aby skorzystać ze zmiennej $PHP_SELF trzeba ją określić jako globalną, użyjemy do tego słowa kluczowego global. I jeszcze jedna sprawa, jako że nasz skrypt może wystąpić w kilku miejscach (tzn. pod różnymi adresami) określimy w funkcji jeden parametr którym będzie adres do pliku tekstowego, ale ustawimy dla niego wartość domyślną, czyli taką która będzie najczęściej występowała. Funkcję nazwałem w przykładzie licz(). Ok, tak wygląda to co przed chwilą założyliśmy:

<?php function licz( $pliktxt = ’./licz.txt’ ) { global $PHP_SELF; $aktualny = basename( $PHP_SELF );

teraz wypada sprawdzić czy plik tekstowy który ma przechowywać dane istnieje, wykorzystamy do tego funkcję file_exists(), a jeżeli nie istnieje to go utworzymy przy pomocy funkcji fopen() z drugim atrybutem „w”:

if (!file_exists( $pliktxt ) ) { fopen( $pliktxt, 'w’ ); }

dobrze, teraz trzeba wczytać plik, wykorzystamy funkcję file():

$plik = file( $pliktxt );

teraz trzeba oddzielić kolejne pozycje w pliku. Ustaliliśmy że separatorem będzie „||”, a jako że wszystko jest w pierwszej linii pliku, musimy odczytać pierwszą linię, wygląda to tak:

$strony = explode( '||’, $plik[0] );

gdy już mamy swoje dane, trzeba je jakoś elegancko przepisać. Nazwy plików umieścimy w indeksach tablicy $wynik, a ilość kliknięć w wartości. Nazwa pliku jest oddzielona od liczby znakiem „-„, w kodzie wygląda to tak:

foreach( $strony AS $wartosc ) { $elementy = explode( ’-’, $wartosc ); $wynik[$elementy[0]] = $elementy[1]; }

jak już mamy porządek, zwiększymy ilość kliknięć w odpowiednim pliku poprzez inkrementację, a jeżeli pliku wcześniej nie było w danych, to utworzymy nowy zapis z wartością jeden „1”:

if ( $wynik[$aktualny] ) { $wynik[$aktualny]++; } else { $wynik[$aktualny] = 1; }

mamy już wszystko co mieliśmy zmodyfikować, teraz trzeba to odpowiednio zapisać, wszystko zapiszemy do zmiennej $doZapisu, pamiętając o znaku „-” pomiędzy nazwą strony a liczbą, oraz o znaku „||” pomiędzy kolejnymi wpisami, oczywiście zmienną $doZapisu przed użycie wypada zainicjować jako pustą kolejne pozycje tablicy $wynik trzeba sprawdzać czy coś zawierają, ponieważ z pliku mogły być wczytane puste wiersze:

$doZapisu = ”; foreach( $wynik AS $index => $element ) { if ( $index and $element ) { $doZapisu .= „$index-$element||”; } }

na koniec trzeba wszystko zapisać. Otwieramy plik z parametrem „w” aby został wyczyszczony, gdyż zapisujemy wszystkie dane od początku:

$fp = fopen( $pliktxt, 'w’ ); fwrite( $fp, $doZapisu ); fclose( $fp );

i zamykamy deklarację funkcji:

} ?>

Teraz wystarczy dołączyć plik z funkcją na stronie do której prowadzi link który chcemy zbadać i wywołać funkcję licz():

<?php include(’./inc/licz.php’); licz(’./inc/licz.txt’); ?>

zauważ że funkcja licz() musi mieć podaną ścieżkę do pliku (w każdym wywołaniu do tego samego) txt w którym trzyma dane, chyba że podana domyślnie jest w tym wypadku dobra.

Funkcja wyswietl:

Teraz jeszcze prościutka funkcja która nam to wszystko wyświetli. Podobnie jak wtedy będzie akceptowała opcjonalny argument w postaci ścieżki do pliku z danymi. Odczytywać i porządkować dane będzie identycznie jak w funkcji licz(), więc nie będę tego objaśniał:

<?php function wyswietl( $pliktxt = ’./licz.txt’ ) { $plik = file( $pliktxt ); $strony = explode( '||’, $plik[0] ); foreach( $strony AS $wartosc ) { $elementy = explode( ’-’, $wartosc ); $wynik[$elementy[0]] = $elementy[1]; }

teraz z danymi można zrobić co nam się podoba, ja np. teraz je wypiszę:

foreach( $wynik AS $index => $wartosc ) { if ( $index and $wartosc ) { echo „$index – $wartosc <br>”; } }

i oczywiście zamykamy deklarację funkcji:

} ?>

i gotowe. Ty naturalnie możesz zrobić z tablicą $wynik co ci się podoba, w indeksach są nazwy plików, a w wartościach ilość kliknięć. Jeżeli chcesz zapisywać całe adresy, to w miejscach gdzie napisałem:

basename( $PHP_SELF )

napisz samo:

$PHP_SELF

i będzie ok, ale to już twój wybór. I to już wszystko…

Może Cię zainteresować

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

WebInside.pl 2003-07-25 2003-07-25
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Czas generowania strony w PHP
Następny artykuł Emotikony na stronie WWW
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy

Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?