Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] niestabilny klikomierz
mediamount
post 27.12.2009, 20:46:47
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.12.2009

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


mam taki oto licznik kliknięć w link w PHP

plik click.php
  1. <?
  2. # Licznik kliknięć na link v-0.01
  3. # Autor: Adam "Logicman" Sobociński
  4.  
  5. # download
  6.  
  7.  
  8. $x = $_GET['x'];
  9.  
  10. $lines=file("click.dat");
  11. $stan=0;
  12. for($n=0; $n<count($lines); $n++)
  13. {
  14. $str=explode(",",$lines[$n]);
  15. if(chop($str[1])=="$x")
  16. {
  17. settype($str[0],"integer");
  18. $str[0]++;
  19. $lines[$n]=implode(",",$str);
  20. $stan=1;
  21. }
  22. }
  23. $plik=fopen("click.dat","w");
  24. flock($plik,2);
  25. if($stan==0) fputs($plik,"1,$x\n");
  26. for($n=0; $n<count($lines); $n++) fputs($plik,chop($lines[$n])."\n");
  27. flock($plik,3);
  28. fclose($plik);
  29. header("Location: $x");
  30. ?>


przykładowy link wygląda tak:

www.strona.pl/click.php?x=http://adres-docelowy.pl
www.strona.pl/click.php?x=adres-lokalny.html
www.strona.pl/click.php?x=http://inny-adres.pl/podstrona.php

efekt w pliku click.dat jest taki:

Cytat
3,http://adres-docelowy.pl
4,adres-lokalny.html
8,http://inny-adres.pl/podstrona.php


licznik wciąż mi się zacina i nie chce zliczać linków ze znakiem "," (przecinek) w adresie (np artykuły gazety wyborczej online mają przecinki)

proszę o pomoc aby uczynić ten skrypt bardziej niezawodnym i stabilnym dla dużej ilości kliknięć

(np także to, aby w wynikach *.dat sortował adresy wg liczby kliknięć - najwyższe od góry)

Ten post edytował Ociu 5.01.2010, 14:31:23
Powód edycji: [Ociu]: Poprawiłem bbCode
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Dritter
post 27.12.2009, 21:20:35
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 16.04.2009

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


oO

$str=explode(",",$lines[$n]);


I Ty się dziwisz, że Ci przecinków nie akceptuje? Spróbuj rozdzielać czymś, czego nie można zastosować w adresach stron.
Go to the top of the page
+Quote Post
messmaker
post 28.12.2009, 10:53:20
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

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


  1. $str=explode(",",$lines[$n], 2);
Go to the top of the page
+Quote Post
mediamount
post 5.01.2010, 12:55:11
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.12.2009

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


jaki to może być znak, który nie występuje w adresach url?

messmaker - co ulepsza ten fragment kodu, po kiedy zastąpiłem nim stary fragment w skrypcie, on przestał działać?
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: 14.08.2025 - 04:25