Skocz do zawartości

licznik się zeruje Pomocy!


euphoria_art

Rekomendowane odpowiedzi

Witam, od pewnego czasu zauważyłem że zeruje mi się licznik odwiedzin. Jak zmienić w funkcji licznika sposób zapisu pliku na r+

Niżej podaje funkcję. Licznik działa na Quick.Cms. Bardzo proszę o pomoc.

function simpleCounter( ){

if( is_file( DB_COUNTER ) ){

$aFile = file( DB_COUNTER );

if( isset( $aFile[1] ) && !empty( $aFile[1] ) ){

$aExp = explode( '$', $aFile[1] );

$sDate = date( 'Y-m-d' );

$aVisits[0] = $aExp[0];

$aVisits[1] = ( !empty( $aExp[2] ) && $aExp[2] == $sDate ) ? $aExp[1] : 0;

}

if( !preg_match('/robot|spider|crawler|curl|^$/i', $_SERVER['HTTP_USER_AGENT'] ) && !isset( $_COOKIE['simpleCounter'] ) ){

$sSave = '<?php exit; ?>'."\n";

$rFile = fopen( DB_COUNTER, 'w' );

if( isset( $aVisits ) ){

$aVisits[0]++;

$aVisits[1]++;

}

else{

$aVisits = Array( 1, 1 );

}

fwrite( $rFile, $sSave.$aVisits[0].'$'.$aVisits[1].'$'.date( 'Y-m-d' ).'$'."\n" );

fclose( $rFile );

setcookie( 'simpleCounter', true, time( ) + 7200 );

}

if( isset( $aVisits ) )

return $aVisits;

else

return Array( 1, 1 );

}

} // end function simpleCounter

Odnośnik do komentarza
Udostępnij na innych stronach

Co to za zwyczaj wklejania całych kodów PHP do tego BEZ FORMATOWANIA - nie na tym polega pomoc by za kogoś przerabiać kody!

Obsługa plików w PHP:

https://php.net/manual/pl/function.file.php

https://www.php.net/manual/en/function.fopen.php

https://www.php.net/manual/en/function.flock.php

lub

https://www.php.net/manual/en/function.file-put-contents.php

Zastosuj licznik oparty o bazie danych SQLite lub MySQL.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

ktoś mi poradził żeby zmienić metodę zapisu.
No też ci panie Kolego poradziłem byś zmienił metodę zapisu na przechowywanie danych w bazie np SQLite. Wystarczy jedna tabela z jedną kolumną odsłony.

Obsługa w PHP jest bardzo prosta:

https://php.net/manual/en/book.sqlite.php

------

W obecnym liczniku zastosuj blokadę nakładaną plik na czas zapisu i zwalnianą po instrumentacji licznika https://www.php.net/manual/en/function.flock.php

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

sorry ale nie wiem jak to zmienić, jestem pewny że coś zrobię nie tak, dlatego proszę jak ktoś potrafi to niech przerobi ten kawałek mojego kodu podanego wyżej. Naprawdę dla mnie to jest czarna magia, nie jestem fachowcem w tych rzeczach innym wydaje się to pewnie bardzo łatwe.

Odnośnik do komentarza
Udostępnij na innych stronach

Koledzy wyżej podali ci efektywne rozwiązanie, przeróbka na SQL. Co zyskasz? Będziesz mógł sortować wyniki od najwyższych wejść do najniższych, prowadzić statystykę dla każdej podstrony. Notować strony wejścia i etc. Przechowywanie w plikach statystyk sobie odpuść, bo to nieefektywne. Chyba, że chcesz sobie tylko hity[odświeżenia przechowywać].

--------------Dno jest wtedy,kiedy nie ma juz nawet mułu.--------------------

Turystyka na sprzedaż , Podróże małe i duże, Egipt, Turcja, Tunezja, Chorwacja...

Poszukuję zatrudnienia.

Będzie bez linka a co :D

poezjapozycjonowania(kropka)blogspot(kropka)com

NEW!!! - Blask Serpów (Prolog) W przygotowaniu: Chapter 1 - Blask Serpów

Odnośnik do komentarza
Udostępnij na innych stronach

licznik jest dobry nie zlicza wejść robotów, gdyż są one wykluczone, odświeżeń też nie zlicza - ustawiona jest blokada na 7200 sekund, taki prosty licznik mi w zupełności wystarczy, jak dla kogoś to pestka i ma trochę czasu to bardzo proszę o poprawienie mi wyżej podanej funkcji. Licznik funkcjonuje pod adresem https://www.obrazygaleria.pl/

Odnośnik do komentarza
Udostępnij na innych stronach

jak dla kogoś to pestka i ma trochę czasu to bardzo proszę o poprawienie mi
Jesteś lekko piszą NIETAKTOWNY z tym przymawianiem się! Zwłaszcza, że chodzi nie o stronę prywatną ale FIRMOWĄ https://www.obrazygaleria.pl/?kontakt,2. Tankując na stacji też poprosisz za free koncern naftowy np Shell stać na to :)

Od razu pisze, że nie oczekują zlecenia ale jak dla mnie pomoc to NIE PRZERABIANIE za kogoś kodu ale wykazanie kierunku zmian.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

ok dzięki za kierunek, do tej pory czego się nauczyłem to jedynie instalacji pluginów, dostosowywania grafiki itp. Nie mam czasu na naukę PHP, Czasz jaki mam wykorzystuje przy malowaniu obrazów, dziecko rodzina, w przerwach jak widzisz próbuje zdobyć rozwiązanie na taką błachostkę jak reset licznika, zapewne wystarczyło zmienić jakąś jedną linijkę, ale cóż w dzisiejszych czasach nic nie ma za darmo, przekonałem się o tym nie tylko tutaj na forum, a ta modyfikacja nie jest warta nawet 20zł. Brałem to pod uwagę że nikt mi nie pomoże i dlatego licznik zostanie odinstalowany. Tu nie chodzi o pieniądze bo stać mnie na droższe zlecenia. Uwierz mi rocznie rozdaje ok 50 obrazów za free i stać mnie na to, tak samo na pewno dobrych programistów stać na napisanie jednej linijki kodu za free, a co tam. Są też tacy co liczą grosik do grosika no i ich nie stać na taki szczyt.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie mam czasu na naukę PHP,
I tu leży sendo sprawy - ty nie masz czasu, ale inni maja swój czas poświęcać na twój licznik! Jeszcze za przeproszeniem bezczelnie wyceniasz ile taka modyfikacja jest warta "a ta modyfikacja nie jest warta nawet 20zł."

@Uwierz mi rocznie rozdaje ok 50 obrazów

A co mnie to obchodzi! Ja też pomagam i to za free w niejednokrotnie "droższych zagadnieniach", ale komuś kto ma do tego właściwe podejście, bo o to się właśnie rozchodzi.

EOT

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Widać jak pomagasz, jak ktoś jest w temacie to minutę czasu może poświęcić, a nie marnować czas na sypanie linkami, w drugim poście wyraźnie napisałem że sam tego nie potrafię zrobić fachowo, nawet nie potrafisz czytać ze zrozumieniem. To napisz że nie pomożesz mi a nie zaśmiecasz mój post, - napisz że Ci nie leży moje podejście do tematu i o co się rozchodzi, a nie wałkujesz temat jak babka placek a i tak wiesz ze sam tego nie zrobię i marnujesz w ten sposób swój cenny czas ;) Wiedziałeś z góry że mam niewłaściwe podejście do Ciebie po pierwszym czy drugim poście to po co robisz śmietnik i wyładowujesz swoje frustracje na mnie, Uwierz mi, żeby nie ten śmietnik to ktoś lepszego pokroju mógł by może pomóc.

Odnośnik do komentarza
Udostępnij na innych stronach

Dlatego takie "uprzejme prośby" typu nie ma czasu się uczyć PHP, więc piszcie za mnie powinny być od razu KASOWANE.

@, a nie wałkujesz temat jak babka placek

Co do kwestii samej pomocy napisałem ci co możesz zrobić ! https://www.forum.optymalizacja.com/index.p...t&p=1046572 "W obecnym liczniku zastosuj blokadę nakładaną plik na czas zapisu i zwalnianą po instrumentacji licznika https://www.php.net/manual/en/function.flock.php "

Sprawdziłeś!? Sam robisz śmietnik w swoim topicku!

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności