Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PHP/HTML - Licznik Pobierania z www

29 Maj 2014 09:04 1365 10
  • Poziom 6  
    Witam

    Mam takie pytanie:
    Zna ktoś jakiś prosty licznik pobierania plików ze strony?
    Mam licznik ale on pokazuje ilość pobrań pliku ze strony w notatniku nie bezpośrednio na stronie obok czy pod pobieranym plikiem.

    Z góry dziękuję za pomoc
  • Poziom 6  
    No tak nie pomyslalem o tym,dziękuję.
    Teraz bez problemow po kliknięciu w download nalicza ilość pobran.
    Powiedzcie mi jak wpisać by pobierało plik z innej lokalizacji np.
    z folderu Download bo nie chcę miec wszystkiego w jednej lokalizacji
    bardziej zależy mi na tym by pliki były umieszczane osobno.
    Mam takie cos:

    <a href="./redirect.php?filename=mp_chelm.rar">Pobierz</a>

    co trzeba dopisac by plik był pobierany z olderu download
  • Poziom 9  
    poszukaj w zawartości pliku redirect.php, tu wywołujesz go tylko z parametrem - nazwą pliku
  • Poziom 6  
    no to czegos brakuje chyba bo mam tak:

    <?php

    $file=fopen("counter666.txt", "r");
    $counter=fgets($file);
    fclose($file);
    $counter=$counter+1;
    $file=fopen("counter666.txt", "w");
    fwrite($file, $counter);
    fclose($file);

    header("location: ".$_GET["filename"])

    ?>

    i zauważyłem jeszcze coś mianowicie gdy pobieram drugi plik to liczba pobran dolicza się tez do pozostałych ;[

    a jest coś podobnego tylko ze w html ?
    coś prostego.
  • Poziom 9  
    w html - nie, licznika nie zrobisz.
    php wcale nie jest trudne, poswiec temu wiecej czasu.
    nic wiecej nie ma w pliku redirect.php?

    aby licznik nie zwiekszal sie przy drugim pobraniu z tego samego komputera - najprostsza metoda to uzycie ciasteczek. pod ponizszym linkiem masz przyklad dla licznika odwiedzin, pomysl jak go uzyc dla Twojego licznika pobran.
    http://funkcje.net/view/2/12746/index.html
  • Poziom 6  
    w redirect.php było tylko to co podałem ;[
    a dlaczego, jak pobieram jeden plik to
    wszystkie pliki które mam na stronie zwieksza im się licznik pobrań
  • Poziom 18  
    Boooo... używasz jednego pliku dla wszystkich plików? ;) Swoim skryptem musiałbyś tworzyć osobny plik .txt dla każdego elementu do ściągnięcia. Kod:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    Ale co jeżeli nie znajdzie danego pliku textowego? Można dołożyć warunek i jeżeli nie uda się znaleźć pliku - po prostu go tworzy z wartością 1 (bo skoro ktoś kliknął "ściągnij", to znaczy że już to zrobił ;P ). Przy zerowaniu po prostu mógłbyś usunąć pliki ;) Tak samo przy odczycie z pliku, jeżeli nie znajdzie, to 0, jeżeli jest, to odczytywać z pliku o danej nazwie.


    Ewentualnie, zamiast takiej sieczki na FTPie i przysłowiowego "domu publicznego" możesz w jednym pliku szukać nazwy danego pliku: (wstyd przyznać, ale operacje na plikach to tylko z C++ nieco pamiętam, w PHP generalnie nigdy nie używałem)
    pętla while i po wersach szukasz, czy dany wers ma w sobie ciąg zawarty w $_GET["filename"], jeżeli tak, to funkcja explode() tegoż wersu z separatorem (np. "|") i wówczas drugą komórkę w tablicy $_GET["filename"] inkrementujesz (poczytaj referencje do funkcji explode() to już będziesz wiedział o co kaman) i nadpisujesz ten wers implodując $_GET["filename"] (implode($_GET["filename"], "|") <- odwrotność explode()) z tym samym separatorem. Jeżeli nie znajdzie nazwy pliku do pobrania w pliku - dopisuje nowy plik na końcu pliku.txt. <-- osobiście nie jestem przekonany do tego rozwiązania. Możliwe że da radę to łatwiej, jednak to jest mój pomysł na to rozwiązanie. Podobnie z zerowaniem liczby ściągnięć - tym razem wyczyszczenie pliku wyzeruje. Jednak przy odczycie ilości pobrać na stronę byłoby to dość "uciążliwe", dla każdego pliku pętla while musiałaby się powtórzyć, dość nieoptymalne.

    Osobiście to bym to rozwiązał za pomocą bazy danych, chociażby MySQL ;) Jeżeli autor wykaże chęć, to pomogę i przy tym.

    I na przyszłość: Używaj listingu kodu przy jego zamieszczaniu.
  • Poziom 6  
    witam

    Ok to jak znajdziesz chwile to napisz do mnie na gg

    9298836

    pozdrawiam
  • Poziom 18  
    Gadu nie używam, jak już coś to na forum pisz, od tego ono jest. A zawsze ktoś będzie mógł wnieść coś dodatkowo do dyskusji, ja ni Alfa ni Omega ;)