SWiSH Forum
Forum użytkowników programów SWiSH

Skrypty do programu SWiSH2 i SWISHmax - ILOŚĆ ŚCIĄGNIĘĆ PLIKU

Chopin - Nie 12 Cze, 2005 01:08
Temat postu: ILOŚĆ ŚCIĄGNIĘĆ PLIKU
Czy kotoś ma taki skrypt prezentujący ilośc pobrań np utworu masakra.mp3 z mojej strony . Oczywiście przykład :D - chodzi tylko o skrypt zliczający ilośc pobran pliku :) - czekam (nie) tylko ja
SPIDER - Nie 12 Cze, 2005 09:41

widzialem to na swish-db.com szukaj pod "hit counter"
nugatt - Nie 12 Cze, 2005 19:24

masz tu przykład. gdy klikamy na guzik to nabija nam się licznik. guzik może być linkiem do pliku do zciągnięcia. pliki main.php i main.txt muszą być na serwerze obsługującym php i należy zmienić ich atrybuty (CHMOD). ja to robie przy użyciu total commandera, przy pomocy którego wysyłam pliki na serwer. zaznaczamy plik (lub pliki na serwerze) i idziemy do menu plik -> zmień atrybuty. trzeba zaznaczyć wszystko co sie da, albo wpisać 777.
Dean - Wto 27 Wrz, 2005 22:53

A gdyby tak jeszcze, ta ilośc kilknięć była widoczna na stronie w pliku SWF ?
nugatt - Sro 28 Wrz, 2005 05:44

wersja alpha
temporary pokaz: http://www.czujny.webd.pl/test/test/test.swf

erbe - Pią 03 Mar, 2006 13:45

a jak to przerobic jesli mam kilka plikow do sciagniecia i chcialbym aby mi ten liczniczek zliczal kazdy jeden? probowalem, glowilem sie ale pupa. nie wychodzi mi cos :/
nugatt - Pią 03 Mar, 2006 15:58

working...
erbe - Pią 03 Mar, 2006 19:52

nugatt napisał/a:
working...

nie bardzo kumam o co chodzi :>

nugatt - Pią 03 Mar, 2006 20:34

w między czasie powstała nowa wersja.
jeden plik php.
Kod:
<?php

///reading & printing:

for($i = 1; $i <= $lolo; $i++) {
  $array = array('main', $i, '.txt');
  $filename = implode($array);
  $fp = fopen($filename,"r");
  $data = fread($fp, 25);
  fclose( $fp );
  $data = explode("=", $data);
  $info = $data[0];
  $hits = $data[1];
  print "&hit_counter$i=$hits& ";
}

///reading, writing & printig:

$array = array('main', $lala, '.txt');
$filename = implode($array);
$fp = fopen($filename,"r");
$data = fread($fp, 25);
fclose( $fp );
$data = explode("=", $data);
$info = $data[0];
$hits = $data[1];
$hits++;
$new_info = $info . "=" . $hits;
$fp = fopen($filename,"w+");
fwrite($fp, $new_info);
fclose( $fp );
print "&hit_counter$lala=$hits";

?>

do każdego guzika robimy plik *.txt
zmienne $lolo i $lala są wysyłane z flasha:
$lolo (w swishmaxie lolo) to ilość guzików/plików (musi być liczbą);
$lala (w swishmaxie lala) jest w każdym guziku inna (musi być liczbą). i tak dla guzika numer 1:
- $lala = 1
- plik tekstowy = main1.txt
- zmienna w polu counter1 = hit_counter1.

pliku main.php nie trzeba zmieniać. dokładamy tylko elementy w swishmaxie z odpowiednim skryptem i wartościami zmiennych oraz w zależności od liczby guzików/plików zmieniamy wartośc $lolo
plik get.php to taka mała statystyka. trzeba wprowadzić liczbę plików ($lolo)

ps. fajnie by było gdyby był tylko 1 plik tekstowy.

erbe - Pią 03 Mar, 2006 21:55

niestety nie na wszystkich serwerach z php to dziala :(
na moim tworzy sie main.txt a w nim "=" i łączna ilosc klikniec w buttony. co dziwne main.txt ma chmoda 644 a wlasciwe main1.txt i main2.txt 777 :o

nugatt - Pią 03 Mar, 2006 22:40

zrób chmoda na 777. powinno być dobrze.
erbe - Pią 03 Mar, 2006 22:51

no wlasnie zrobilem. kombinowalem na rozne sposoby. tylko txt z 777, wszystko z 777 i nic. na jednym chodzi na innym nie chodzi :(
buber - Pią 03 Mar, 2006 23:14

obczaj ustawienia register_globals w konfiguracji pehapa.
taka deklaracja zmiennych(jak tu lala) nie bedzie wszedzie dzialac
swoja droga ciekawy temat i zrobilem wypas wersje tylko zrobie porzadek w kodzie i wam wrzucam :p

[ Dodano: Pią 03 Mar, 2006 23:45 ]
pak dostepny pod adresem:
http://web.hostdmk.net/hit.rar
nie chce mi sie juz sprawdzac wiec jak cos jest nie tak piszcie
zapisane w najnowszej wersji wiec lepiej jeszcze tu przekleje co i jak :P

1) w scene_1 kod
Kod:

onFrame (1) {
    pokaz=1;
    liczbaHC=2;//liczba hit counterow
    loadVariables("main.php", 'POST');
}


2) w polu tekstowym w advance nazwac zmienna pierwszego pola hit_counter1
3) button zliczajacy
Kod:

on (press) {
    dodaj=1;
    numerButtona=1;
    loadVariables("main.php",'POST');
}


instrukcja obslugi jest w paku
a to pehap
Kod:

<?
// HIT COUNTER by BUBER. jakies zonki? -> buber@web.hostdmk.net

$pokaz = $HTTP_POST_VARS['pokaz'];
$dodaj = $HTTP_POST_VARS['dodaj'];
$liczbaHC = $HTTP_POST_VARS['liczbaHC'];
$numerButtona = $HTTP_POST_VARS['numerButtona'];

if (isset($dodaj) && $liczbaHC>0) {
  $dane = @file("data.txt");
  $ilosc = count($dane);

    @ $wp = fopen("data.txt", 'w');
    @flock($wp, LOCK_EX);
      if (!$wp)
      {
        echo "Brak dostępu.";//można przekazac info do SWiSHa
        exit;
      }
  for ($i=0; $i<$liczbaHC; $i++)
  {
        $linia = explode( "=", $dane[$i]);
    if (!isset($linia[$i])) {
    if (($i+1)==$numerButtona) $ciagwyjsciowy = '&hit_counter'.($i+1)."=1";
    else $ciagwyjsciowy = '&hit_counter'.($i+1)."=1";   
    }
    if (($i+1)==$numerButtona) $ciagwyjsciowy = '&hit_counter'.($i+1)."=".($linia[1]+1)."\n";
    else $ciagwyjsciowy = '&hit_counter'.($i+1)."=".$linia[1];
    @fwrite($wp, $ciagwyjsciowy);
    @flock($wp, LOCK_UN);
  }
@fclose($wp);
}

if (isset($pokaz)) {
  $dane = file("data.txt");
  $ilosc = count($dane);
  @ $wp = fopen("data.txt", 'r');
  for ($i=0; $i<$ilosc; $i++)
  {
        $linia = explode( "=", $dane[$i]);
    $ciagwyjsciowy = '&hit_counter'.($i+1)."=".$linia[1];
    echo $ciagwyjsciowy;
  }
@fclose($wp);
}
?>

erbe - Pią 03 Mar, 2006 23:54

wersja bubera dziala :) ale ide testowac dalej ;)

Powered by phpBB modified by Przemo © 2003 phpBB Group