Utwórz licznik pobierania plików za pomocą PHP i MySQL. Instalacja licznika pobrań - przegląd wtyczek do WordPressa

Przez długi czas nie było lekcji o PHP i MySQL. Dzisiaj stworzymy prosty, ale skuteczny licznik pobrań.

Każdy plik będzie miał wpis w wierszu tabeli bazy danych. Ta sama tabela będzie przechowywać liczbę pobrań plików. PHP zaktualizuje bazę danych MySQL i przekieruj użytkownika do wymaganego pliku.

Aby śledzić liczbę pobrań dowolnego pliku, musisz umieścić go w folderze akta i użyj specjalnego adresu URL, aby uzyskać do niego dostęp.

Krok 1 - XHTML

Pierwszym krokiem jest stworzenie znacznika dla naszego skryptu. To bardzo proste - mamy menedżer plików div, który zawiera listę nieuporządkowaną, w której każdy element listy odpowiada za plik.

Pliki, które chcesz śledzić, są umieszczane w folderze akta w folderze głównym skryptu. PHP następnie przechodzi przez wszystkie pliki i dodaje każdy z nich jako element listy ( Li ) na listę nieuporządkowaną.

demo.php


  • photoShoot-1.0.zip 0 Pobieranie

Zauważ, że atrybut href linki przekazuje nazwę pliku jako parametr do pobierz.php. Tutaj pojawia się śledzenie pobierania.

Nie musisz wyświetlać wszystkiego w ten sam sposób - wystarczy link do download.php na Twoich stronach i żadne pliki do pobrania nie przejdą obok.

Krok 2 - css

Po oznaczeniu przejdźmy do projektu. css poniższe zasady dotyczą menedżer plików div o identyfikatorze (symbol #), ponieważ występuje tylko 1 raz na stronie, a do pozostałych elementów według nazw klas.

style.css

#file-manager( background-color:#EEE; border:1px solid #DDD;margin:50px auto; padding:10px; width:400px; )
ul.manager li( background:url("img/bg_gradient.gif") repeat-x center bottom #F5F5F5; border:1px solid #DDD; border-top-color:#FFF;list-style:none; position:relative ; ) ul.manager li a( display:block; padding:8px; ) ul.manager li a:hover .download-label( /* Po najechaniu myszą pokaż zielony tekst do pobrania: */ display:block; ) span. download- label( background-color:#64B126; border:1px solid #4E9416; color:white; display:none; font-size:10px; padding:2px 4px; position:absolute; right:8px; text-decoration:none ; text -shadow:0 0 1px #315D0D;góra:6px;/* CSS3 zaokrąglone rogi */
-moz-obramowanie-promień:3px; -webkit-obramowanie-promień:3px; promień obramowania:3px; ) span.download-count( color:#999; font-size:10px; padding:3px 5px; position:bezwzględna; text-decoration:brak; )

Krok 3 -PHP

Jak powiedziałem wcześniej, PHP szuka plików w folderze plików i wyświetla każdy plik jako element listy na liście nieuporządkowanej. Przyjrzyjmy się, jak to idzie

demo.php- Górna część

// grubo zgłaszanie błędów: raportowanie_błędów(E_ALL^E_NOTICE); // : wymagaj "connect.php"; $rozszerzenie=""; $tablica_plików = tablica(); /* Otwórz folder i przejrzyj wszystkie pliki: */ $dir_handle = @opendir($directory) or die("Wystąpił błąd w twoim katalogu plików!"); while ($plik = readdir($dir_handle)) ( /* skaczący pliki systemowe : */ if($file(0)==".") kontynuuj; /* koniec() zwraca ostatni element tablicy generowane przez funkcję explode(): */ $extension = strtolower(end(explode(".",$file))); /* Pomiń pliki php : */ if($extension == "php") continue; $files_array=$plik; ) /* Sortuj pliki alfabetycznie*/ sort($tablica_plików,SORT_STRING); $file_downloads=tablica(); $result = mysql_query("WYBIERZ * Z menedżera_pobierania"); if(mysql_num_rows($result)) while($row=mysql_fetch_assoc($result)) ( /* Klucz tablicy $file_downloads będzie nazwą pliku, i będzie zawierać liczbę pobrań: */ $file_downloads[$wiersz["nazwapliku"]]=$wiersz["pobrane"]; )

Zwróć uwagę, jak wybieramy wszystkie wiersze z tabeli download_manager za pomocą mysql_query(), a później dodajemy je do tablicy $file_downloads z nazwą pliku jako kluczem do liczby pobrań. Tak więc w dalszej części kodu możemy napisać $file_downloads["archive.zip"] i wydrukować liczbę pobrań.

Poniżej możesz zobaczyć kod generujący elementy listy:

demo.php- Środkowa cześć

Foreach($tablica_plików jako $klucz=>$wartość) ( echo "

  • „.$wal.” ".(int)$file_downloads[$val]." Pobieranie
  • "; }

    Wszystko odbywa się po prostu za pomocą pętli foreach tablicy $files_array. Następnie wszystko jest wyprowadzane za pomocą echa.

    Teraz przyjrzyjmy się bliżej, jak działa śledzenie plików.

    download.php

    // Sprawdzanie błędów : error_reporting(E_ALL^E_NOTICE); // Włącz plik połączenia db: wymagaj("connect.php"); if(!$_GET["plik"]) error("Brak parametru!"); if($_GET["plik"](0)==".") error("Niewłaściwy plik!"); if(plik_istnieje($katalog."/".$_GET["plik"])) ( /* If a gość nie jest robotem wyszukującym, policz pobrania: */ if(!is_bot()) mysql_query(" WSTAW DO ZESTAWU download_manager nazwa_pliku=".mysql_real_escape_string($_GET["plik"])."" PRZY AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA downloads=downloads+1"); header("Lokalizacja: ".$katalog."/".$_GET["plik"]); Wyjście; ) else error("Ten plik nie istnieje!"); /* pomocnicy funkcji: */ function error($str) ( die($str); ) function is_bot() ( /* Ta funkcja sprawdzania w robocie*/ $botlist = array("Teoma", "alexa", "froogle", "Gigabot", "inktomi", "looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK ”, „InfoSeek”, „WebFindBot”, „girafabot”, „crawler”, „www.galaxy.com”, „Googlebot”, „Scooter”, „Slurp”, „msnbot”, „appie”, „FAST”, „WebBug”, „Spade”, „ZyBorg”, „rabaz”, „Baiduspider”, „Feedfetcher-Google”, „TechnoratiSnoop”, „Rankivabot”, „Mediapartners-Google”, „Sogou web spider”, „WebAlta Crawler” , „TweetmemeBot”, „Butterfly”, „Twitturls”, „Me.dium”, „Twiceler”); foreach($botlist as $bot) ( if(strpos($_SERVER["HTTP_USER_AGENT"],$bot)!==false) return true; // jest botem ) return false; // Nie bot)

    Ważne jest, aby sprawdzić, czy odwiedzający jest człowiekiem, czy robotem wyszukiwarki. Roboty są fajne, ale nie pozwólmy im zniekształcać naszych statystyk. Dlatego wiersz w bazie danych jest aktualizowany dopiero po sprawdzeniu is_bot().

    Krok 4 -MySQL

    Jak zauważyliśmy w ostatnim kroku, liczba pobrań jest przechowywana jako wiersz w tabeli download_manager. Najpierw wyjaśnijmy, jak działa to zapytanie:

    download.php

    INSERT INTO download_manager SET filename="nazwa_pliku.doc" W AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA downloads=downloads+1

    Mówi MySQL, aby wstawił nowy wiersz do tabeli download_manager i ustawił pole wiersza nazwy pliku na wartość pliku wywoływanego do pobrania. Jednak pole nazwy pliku jest oznaczone w tabeli jako unikalny indeks. Oznacza to, że każdy wiersz można wstawić tylko raz, w przeciwnym razie wystąpi błąd zduplikowanego klucza.

    Tutaj zadziała druga część zapytania - ON DUPLICATE KEY UPDATE powie MySQL, aby dodał go do kolumny pobierania, jeśli plik już istnieje w bazie danych.

    Dzięki temu nowe pliki zostaną automatycznie dodane do bazy danych podczas pierwszego pobierania.

    Krok 5 - jQuery

    W celu śledzenia w czasie rzeczywistym dobrze byłoby aktualizować licznik obok nazwy pliku po każdym pobraniu.

    Zrobimy to za pomocą jQuery:

    skrypt.js

    $(dokument).gotowy(funkcja()( /* Kod jest wykonywany po załadowaniu strony*/ $("ul.manager a").click(function()( var countSpan = $(".download-count",this); countSpan.text(parseInt(countSpan.text())+1); ) ); ));

    Po prostu przypisujemy obsługę kliknięć do linków prowadzących do plików, a do każdego kliknięcia dodajemy wartość.

    Krok 6 -htaccess

    Jest jeszcze jedna rzecz do zrobienia. Download.php przekieruje użytkownika do żądanego pliku, który został przekazany jako parametr. Jednak mogłeś zauważyć, że przeglądarki próbują bezpośrednio otwierać niektóre typy plików. Musimy również zainicjować ich pobieranie. Można to zrobić za pomocą kilku wierszy w pliku .htacess, który znajduje się w folderze plików.

    Aplikacja ForceType/strumień oktetowy

    Teraz nasz licznik jest gotowy!

    Wniosek

    Aby demo zadziałało, musisz odtworzyć tabelę download_manager w bazie danych MySQL. Możesz znaleźć wymagany kod SQL w źródłach.

    Następnie dodaj swoje dane do połączenia z bazą danych w pliku configuration.php.

    Postanowiłem sprawdzić, ile razy jeden z moich skryptów jest pobierany ze strony. Aby to zrobić, postanowiłem napisać licznik pobierania plików dla witryny. W internecie jest wiele wdrożeń tego zadania, niemniej jednak przeczytaj moje rozwiązanie.

    Logika licznika pobrań jest dość prosta. Aby to zaimplementować, użyjemy mojego ulubionego ajaxu. Zawieszamy przycisk, gdy wystąpi zdarzenie clik, wywołanie przez ajax do pliku php licznika. W php żądanie ajax jest przetwarzane, a całkowita liczba pobrań jest zapisywana do pliku tekstowego. Po udanym nagraniu zwracana jest odpowiedź z całkowitym licznikiem pobrań, a użytkownik zostaje przekierowany do linku do pobrania pliku (plik jest pobierany). Oto taka prosta logika Teraz zacznijmy ją wdrażać. Utwórzmy wcześniej plik test.zip do pobrania. Stwórzmy kod przycisku i pokażmy licznik skoków.

    Liczba skoków:

    Stworzyliśmy przycisk z id="btnSend" , wyświetlimy licznik w przedziale z id="countView" , będziemy przechowywać link do pobranego pliku w atrybucie data-download

    Teraz dołączmy obsługę kliknięcia do przycisku. Tutaj będziemy już używać js i jquery. Możesz przeczytać o tym, jak zaimplementować clik za pomocą jQuery. Ale przed zainstalowaniem obsługi kliknięć, ajax uzyskamy dostęp do pliku count.php, który będzie zawierał całą pracę licznika. Więcej o transferze dane ajaksu można przeczytać. Jest to konieczne, aby wyświetlić z pliku, w którym zapisuje licznik, liczbę już wykonanych pobrań i wyświetlić je w zakresie z id="countView"

    /*pobierz aktualną liczbę pobrań*/ $(document).ready(function()( //zabroń żądania pamięci podręcznej ajax //w przeciwnym razie licznik nie powiedzie się $.ajaxSetup((cache: false)); var html; $. ajax (( //jak przekażemy typ danych: "GET", //gdzie podajemy url: "count.php", //jakie dane przekazujemy data: (flaga: 2), //zdarzenie po otrzymaniu odpowiedzi from count.php success : function(data)( html=data; //wypisz aktualną liczbę pobrań $("#countView").html(html); ) )); /*zawieś zdarzenie na przycisku pobierania pliku */ var clickevent=false; //click check flag //click handler $("#btnSend").click(function()( if(!clickevent)( $.ajax(( //jak wyślemy typ danych: "GET", //gdzie przekazujemy url: "count.php", //jakie dane wysłać dane: (flaga: 1), //zdarzenie przed wysłaniem ajax beforeSend: function()( //jeśli przycisk został kliknięty then true clickevent=true; ), //zdarzenie po otrzymaniu odpowiedzi, //pobranie danych w danych sukces: function(data)( //po wykonaniu akcji zezwól ponownie //przetwarzanie kliknij przycisk clickevent=false; html=dane; //wypisz nowy licznik $("#countView").html(html); //pobierz łącze z pobierania danych //przekieruj do łącza pobierania, pobierz plik window.location.href = $("#btnSend").data("pobierz"); ))); ) return false;//zabroń przetwarzania zdarzenia po kliknięciu )); ));

    Aby zapobiec powtarzającemu się błędnemu naciskaniu przycisku przesyłania, wprowadziłem do skryptu flagę clickevent. Dopóki odpowiedź z count.php nie zostanie zwrócona ze zaktualizowanymi danymi licznika, kliknięcie przycisku będzie zabronione. Myślę, że działanie kodu po kliknięciu w przycisk jest mniej więcej jasne. Po kliknięciu przycisku pobierania dane są przesyłane do pliku count.php, gdzie są przetwarzane i zwracane są zaktualizowane dane licznika, następuje przekierowanie do łącza pobierania i odpowiednio plik jest pobierany.

    Przeanalizujmy teraz serce naszego skryptu, a mianowicie plik count.php.

    Funkcja clearInt ($date)( //przerzucenie daty na liczbę nieujemną zwraca abs((int)$date); ) if($_SERVER["HTTP_X_REQUESTED_WITH"] == "XMLHttpRequest") ( //sprawdź, która flaga nadeszła if (clearInt($_GET["flag"]==1)) ( //otwórz plik do odczytu $f=fopen("mycount.txt","a+"); //blokuje dostęp do pliku z innych programów flock($f,LOCK_EX); //pobranie wartości licznika z pliku $count=fread($f,100); //dodanie licznika @$count++; //zastąpienie pliku ftruncate($f,0); //zasil nowy licznik odczytujący fwrite ($f,$count); //zamknij plik fclose($f); //zwróć wartość echo $count; ) if(clearInt($_GET["flag"]==2) ) ( $c=fopen(" mycount.txt","a+"); flock($c,LOCK_EX); $festc=fread($c,100);fclose($c); //zwróć wartość echo $festc ; ) )

    Tutaj myślę, że to samo jest proste. Jeśli pojawi się flaga 1, przepisujemy licznik. Jeśli pojawi się flaga 2, po prostu zwracane są dane o liczbie pobrań. Wszystko inne, o czym myślę, wynika jasno z komentarzy w kodzie.

    Licznik pobierania Joomla

    Postanowiłem dołączyć podobny licznik do jednego z moich projektów joomla. Teoretycznie oczywiście trzeba napisać albo osobny moduł, albo zintegrować kod z kontrolerem komponentu treści com, tak aby dane licznika były zapisywane nie do pliku, ale do bazy danych i dla każdego artykułu z osobna. Ale na taki rozwój nie ma czasu i sprawę rozwiązałem prościej. Potrzebowałem licznika na jedną stronę. Wziąłem plik count.php i przeniosłem go do szablonu joomla, który jest włączony ten moment podłączony (w katalogu głównym szablonów witryny/twój_szablon). Nie zapomnij wstawić zdefiniowanego kodu ("_JEXEC") lub umrzeć na samym początku count.php; (to jest dla joomla). Wstawiamy przycisk pobierania do strony, którą tworzymy, a kod js można również osadzić na stronie lub połączyć oddzielny plik. Na przykład mam osobny plik (znajduje się w folderze template js). W samym szablonie, w nagłówku, połączenie odbywa się za pomocą kodu

    I nie zapomnij uzyskać z żądaniem ajax, uzyskujemy dostęp do url: "/index.php?tmpl=count", a nie do url: "count.php", . Tak po prostu, właśnie spieprzyłem licznik pobierania plików do joomla.

    W dzisiejszym artykule stworzymy prosty, ale niezawodny system śledzenia przesyłania plików. Każdy plik będzie miał odpowiedni wiersz w bazie danych, w którym będzie przechowywana całkowita liczba pobrań tego pliku. PHP zaktualizuje bazę danych MySQL i przekieruje użytkowników do odpowiednich plików.

    Aby śledzić liczbę pobrań, wystarczy przesłać pliki do odpowiedniego folderu i użyć określonego adresu URL, aby uzyskać do nich dostęp.

    Krok 1 — XHTML

    Najpierw potrzebujemy znaczników XHTML. To bardzo proste - jest to powszechny blok menedżer plików, zawierający wypunktowaną listę, w której odnośnik do każdego pliku będzie umieszczony wewnątrz elementu Li.

    Pliki, dla których będzie liczona liczba pobrań, należy wgrać do folderu akta znajduje się w głównym katalogu skryptu (możesz zobaczyć, jak zorganizowana jest struktura plików w przykładowym archiwum). PHP przejdzie przez wszystkie pliki w folderze i doda każdy plik jako oddzielny element li do listy punktowanej.

    demo.php

    • photoShoot-1.0.zip 0 Pobieranie

    Zauważ, że atrybut href pod linkiem przekazuje nazwę przesłanego pliku jako parametr dla pliku download.php. Tutaj będą liczone pobrania, jak zobaczysz później.

    Nie musisz używać tego konkretnego interfejsu do organizowania liczenia pobrań. Możesz po prostu połączyć się z download.php na blogach lub stronach internetowych, a wszystkie pobrania będą liczone poprawnie.

    Krok 2 - CSS

    Gdy nasz znacznik XHTML jest gotowy, możemy skoncentrować się na wyglądzie i działaniu naszego skryptu. Poniższe style CSS przypisują wygląd do bloku menedżera plików za pomocą jego identyfikatora, ponieważ mamy tylko jeden na stronie. Pozostałe elementy są stylizowane poprzez nazwy klas.

    styl.css

    #file-manager( background-color:#EEE; border:1px solid #DDD; margin:50px auto; padding:10px; width:400px; ) ul.manager li( background:url("img/bg_gradient.gif") repeat-x center bottom #F5F5F5;border:1px solid #DDD;border-top-color:#FFF;list-style:none; position:relative; ) ul.manager li a( display:block; padding:8px; ) ul.manager li a:hover .download-label( /* Po najechaniu kursorem na listę, pokaż w niej zielony tekst do pobrania: */ display:block; ) span.download-label( background-color:#64B126; border :1px solid #4E9416;kolor:biały;wyświetlacz:brak;rozmiar czcionki:10px;padding:2px 4px;pozycja:bezwzględna;prawo:8px;tekst-dekoracja:brak;tekst-cień:0 0 1px #315D0D;góra :6px; /* CSS3 zaokrąglone rogi */ -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; ) span.download-count( color:#999; font-size: 10px; padding:3px 5px;pozycja:bezwzględna;tekst-dekoracja:brak;)

    Zauważ, że tutaj napis „pobierz” jest domyślnie ukryty, z właściwością Nie wyświetla się. Jest wyświetlany przez Blok wyświetlacza, tylko po najechaniu kursorem na link, bez JavaScriptu. Odrobina CSS3 służy do zaokrąglenia rogów podpisu.

    Krok 3 - PHP

    Jak powiedzieliśmy powyżej, PHP zapętla się przez cały folder akta i wypisuje każdy plik jako element li listy punktowanej. Przyjrzyjmy się bliżej, jak to się dzieje.

    demo.php - Góra

    // Raportowanie błędów: error_reporting(E_ALL^E_NOTICE); // W tym plik połączenia z bazą danych: require "connect.php"; $rozszerzenie=""; $tablica_plików = tablica(); /* Otwarcie katalogu z miniaturami i przejście przez wszystkie kciuki: */ $dir_handle = @opendir($directory) or die("Wystąpił błąd w Twoim katalogu plików!"); while ($file = readdir($dir_handle)) ( /* Pomijanie plików systemowych: */ if($file(0)==".") continue; /* end() zwraca ostatni element tablicy wygenerowanej przez funkcja explode(): */ $extension = strtolower(end(explode(".",$file))); /* Pomijanie plików php: */ if($extension == "php") continue; $files_array =$plik;) /* Alfabetyczne sortowanie plików */ sort($files_array,SORT_STRING); $file_downloads=tablica(); $result = mysql_query("WYBIERZ * Z menedżera_pobierania"); if(mysql_num_rows($result)) while($row=mysql_fetch_assoc($result)) ( /* Klucz tablicy $file_downloads będzie nazwą pliku i będzie zawierał liczbę pobrań: */ $file_downloads[ $row["nazwa pliku"]]=$wiersz["pobrane"]; )

    Zwróć uwagę, jak wybieramy wszystkie rekordy z tabeli download_manager za pomocą mysql_query() a następnie dodaj je do tablicy $file_downloads, z nazwą pliku klucza tablicy i pobieraną wartością. Tak więc dalej w kodzie możemy pisać $file_downloads['archive.zip'] i wyświetlić liczbę pobrań tego pliku.

    Poniżej znajduje się kod, który służy do generowania elementów li listy punktowanej.

    demo.php - Część centralna

    Foreach($tablica_plików jako $klucz=>$wartość) ( echo "

  • „.$wal.” ".(int)$file_downloads[$val]." Pobieranie
  • "; }

    Wszystko jest bardzo proste - przechodzimy przez cykl dla każdego przez tablicę $files_array i wyświetl niezbędne dane na stronie w odpowiednim znaczniku.

    Teraz przyjrzyjmy się bliżej, jak działa rozliczanie pobierania.

    download.php

    // Raportowanie błędów: error_reporting(E_ALL^E_NOTICE); // W tym plik połączenia: require("connect.php"); if(!$_GET["plik"]) error("Brak parametru!"); if($_GET["plik"](0)==".") error("Niewłaściwy plik!"); if(file_exists($directory."/".$_GET["file"])) ( /* Jeśli użytkownik nie jest wyszukiwarką, policz pobieranie: */ if(!is_bot()) mysql_query(" INSERT INTO download_manager SET nazwa_pliku="".mysql_real_escape_string($_GET["plik"])."" W DUPLIKUJĄCYM KLUCZU downloads=downloads+1"); header("Lokalizacja: ".$directory."/".$_GET[" file"]); exit; ) else error("Ten plik nie istnieje!"); /* Funkcje pomocnicze: */ function error($str) ( die($str); ) function is_bot() ( /* Ta funkcja sprawdza, czy odwiedzający jest robotem wyszukiwarki */ $botlist = array("Teoma" , "alexa", "froogle", "Gigabot", "inktomi", "looksmart", "URL_Spider_SQL", "Firefly", "NationalDirectory", "Ask Jeeves", "TECNOSEEK", "InfoSeek", "WebFindBot", „girafabot”, „crawler”, „www.galaxy.com”, „Googlebot”, „Scooter”, „Slurp”, „msnbot”, „appie”, „FAST”, „WebBug”, „Spade”, „ZyBorg „ ”, „rabaz”, „Baiduspider”, „Feedfetcher-Google”, „TechnoratiSnoop”, „Rankivabot”, „Mediapartners-Google”, „Sogou web spider”, „WebAlta Crawler”, „TweetmemeBot”, „Butterfly”, " Twitturls","Me.dium","Twiceler"); foreach($botlist as $bot) ( if(strpos($_SERVER["HTTP_USER_AGENT"],$bot)!==false) return true; // Jest bot ) return false; // Nie bot )

    Tutaj zdecydowanie musisz sprawdzić, czy odwiedzający jest robotem wyszukiwarek indeksującym Twoje linki. Roboty są dobrymi gośćmi, ponieważ pomagają umieścić Twoją witrynę w wyszukiwarkach, ale w naszym przypadku mogą zniekształcać statystyki pobierania. Dlatego baza danych jest aktualizowana dopiero po tym, jak odwiedzający przejdzie weryfikację is_bot().

    Krok 4 - MySQL

    Jak wspomnieliśmy w poprzednim kroku, liczba pobrań jest rejestrowana jako ciąg w tabeli download_manager bazy danych MySQL. Najpierw wyjaśnię, jak działa ta część zapytania:

    download.php

    INSERT INTO download_manager SET filename="nazwa_pliku.doc" W AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA downloads=downloads+1

    Pierwsza część zapytania mówi MySQL, aby wstawił nowy wiersz do tabeli. menadżer pobierania i ustaw wartość pola Nazwa pliku równa nazwie żądanego pliku do załadowania. Ponadto pole Nazwa pliku zdefiniowany jako unikalny indeks tabeli. Oznacza to, że wiersz z określoną nazwą pliku można wstawić tylko raz, w przeciwnym razie wystąpi błąd zduplikowanego pola klucza.

    W tym przypadku wchodzi w życie druga część żądania - O AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA, co zwiększa wartość pola pliki do pobrania o jeden, jeśli plik znajduje się już w bazie danych.

    W ten sposób nowe pliki będą automatycznie wstawiane do bazy danych przy pierwszym przesłaniu.

    Krok 5 - jQuery

    Aby nasz licznik pobrań był bardziej wizualny, dobrze byłoby dodać możliwość aktualizacji licznika obok nazwy pliku, gdy tylko użytkownik rozpocznie pobieranie. Jak dotąd, aby zobaczyć nowe wartości liczników, użytkownik musi przeładować stronę.

    Można to naprawić za pomocą małego kawałka kodu:

    skrypt.js

    $(document).ready(function()( /* Ten kod jest wykonywany po całkowitym załadowaniu DOM */ $("ul.manager a").click(function()( var countSpan = $(".download -count",this); countSpan.text(parseInt(countSpan.text())+1); )); ));

    Właśnie przypisaliśmy obsługę zdarzeń do kliknięcia linku. Za każdym razem, gdy użytkownik kliknie w link, zwiększamy aktualną wartość pobrań o jeden.

    Krok 6 - htaccess

    Mamy jeszcze jedną rzecz do zrobienia, zanim będziemy mogli zakończyć pracę. Być może zauważyłeś już, że niektóre typy plików, domyślna przeglądarka próbuje otworzyć się natychmiast. Zamiast tego musimy rozpocząć pobieranie pliku. Jest to całkiem proste, dodając kilka linii wewnątrz pliku .htaccess znajduje się w folderze akta:

    Aplikacja ForceType/strumień oktetowy

    To wszystko, nasz licznik pobrań jest gotowy.

    Wniosek

    Aby uruchomić ten przykład na własnym serwerze, musisz utworzyć tabelę download_manager w bazie danych MySQL, do której oczywiście masz dostęp. W archiwum z przykładem znajduje się plik tabela.sql, który zawiera niezbędny kod SQL, który utworzy żądaną tabelę.

    Następnie podaj w pliku szczegóły połączenia z bazą danych konfiguracja.php.

    Na wielu stronach możesz zobaczyć linki do pobierania plików. Na przykład firmy produkcyjne umieszczają instrukcje dotyczące konkretnego produktu na swoich oficjalnych stronach. Ponadto twórcy oprogramowania oferują również bezpłatne pobranie swojego programu, dzięki czemu użytkownik może zapoznać się z jego funkcjami i działaniem.

    Udostępniając konkretny plik do bezpłatnego pobrania, ważne jest, aby wiedzieć, ile razy został pobrany. Jest to niezbędne przede wszystkim w przypadku statystyk, których analiza pomoże określić przydatność informacji dla użytkownika końcowego.

    Jak ustawić licznik pobierania w witrynie WordPress?

    Wśród narzędzi WordPress nie ma możliwości sprawdzenia tych statystyk. Dlatego skorzystamy z rozwiązania innej firmy – wtyczki Kama Click Counter.

    Wtyczka licznika kliknięć Kama

    Darmowa wtyczka Licznik kliknięć Kama udostępnia wszystkie niezbędne narzędzia do dokładnego zliczania liczby pobrań danego pliku. Więc najpierw musisz go zainstalować i aktywować. Na przykład na stronie rekordu wyświetl link do pdf-plik, dla którego policzymy ilość pobrań. Należy zauważyć, że pliki wgrywane są do serwisu w standardowy sposób. biblioteki multimedialne WordPress ( Pliki multimedialne -> Dodaj nowe). Następnie musisz otworzyć post lub stronę do edycji. W części treści należy umieścić kursor w miejscu, w którym zostanie umieszczony link do pliku, a następnie kliknąć przycisk, który pojawi się na pasku narzędzi edytora wizualnego.

    W wyskakującym okienku wtyczka poprosi o wybranie pobranego wcześniej pliku. W tym celu kliknij przycisk z ikoną lupy.

    W bibliotece multimediów wybierz żądany plik i kliknij przycisk Wybierz plik.

    W rezultacie do części treści posta lub strony zostanie wstawiony specjalny krótki kod, który służy do wyświetlenia linku do pobrania pliku.

    Po aktualizacji materiału (przycisk Odświeżać) możesz przejść do witryny, aby ją wyświetlić.

    Wtyczka jest również w stanie pokazać statystyki pobierania w części użytkownika serwisu - w widgecie. Zauważ, że domyślna wtyczka nie pokazuje konkretnych liczb w widżecie, co i ile razy została pobrana. Wyświetlana jest tylko lista najczęściej pobieranych plików. Aby to zrobić, przejdź do sekcji administratora Wygląd -> Widgety i przeciągnij widżet KSS:Najczęściej pobierane do żądanej lokalizacji paska bocznego.

    Widać, że w widgecie dostępnych jest kilka opcji, które pozwalają na modyfikację listy.

    Tutaj możesz ustawić następujące podstawowe parametry:

    • tytuł widżetu (pole nagłówek);
    • liczba plików wyjściowych na liście ( ile linków pokazać?);
    • sortuj wyniki ( jak posortować wynik?);
    • dostosowywanie wyglądu szablonu (bloki Próbka I Szablon CSS).

    Cechą wtyczki jest elastyczne dostosowywanie szablonu. Tutaj możesz użyć tak zwanych tagów, w miejsce których będą wyświetlane te lub inne informacje.

    Po dokonaniu i zapisaniu wszystkich ustawień widżetu (przycisk Zapisać), możesz zobaczyć wynik na stronie.

    Dzisiaj rozważymy jako główny sposób dodawania grafiki do strony HTML - odpowiednio, bezpośrednio za pomocą tagu „img”, oraz inne dodatkowe sposoby, które mogą być potrzebne w różnych sytuacjach podczas tworzenia stron internetowych.

    Przyjrzyjmy się różnym ustawieniom i funkcjom, które można zastosować do grafiki: określenie rozmiaru (szerokość, wysokość), wyrównanie, wcięcia, różne efekty po najechaniu myszą na obraz i tak dalej...

    Zarobki z pisania artykułów, komentarzy na forach

    Serwis umożliwia copywriterom zarabianie pieniędzy - płacą za pisanie artykułów na strony, tworzenie nowych tematów na forach, pisanie na ich temat komentarzy. Możesz także zarabiać na przepisaniu, kopiowaniu i wklejaniu oraz tłumaczeniach tekstu. Świetna promowana usługa, dużo pracy...

    Hosting dla Drupala 8

    Rozwijając nową stronę jak zwykle wybrałem "Drupal" (w chwili pisania tego tekstu najnowsza stabilna wersja to 8).

    Ogólnie uważam, że ten „silnik” jest najlepszy. Ale, jak wiadomo, dokumentacji w języku rosyjskim nie ma tak dużo, jak byśmy chcieli, a biorąc pod uwagę szerokie możliwości Drupala, jej brak może czasem przysporzyć trudności webmasterom, którzy niedawno rozpoczęli pracę z tym systemem, i to nie tylko początkujących... Na przykład pracuję z tym CMS od ponad 8 lat, ale przy rozwiązywaniu złożonych problemów czasami pojawiają się trudności, ponieważ nie mówię po angielsku na odpowiednim poziomie. Chociaż, gdy problem można rozwiązać, po raz kolejny jesteś przekonany, jak dobry i wygodny jest Drupal pod względem swoich możliwości.

    Przesuwany panel na „Mootools”

    W tej lekcji poświęcimy się tworzeniu wyskakujących paneli dla witryny.

    Będziemy potrzebować najmniejsze pojęcie o „Mootools” i oczywiście znajomość stylów CSS potrzebnych do stworzenia jego projektu.

    Przed rozpoczęciem pobierz plik archiwum źródłowego. Znajdziesz tam również przykładowy panel wynikowy (index.html).

    Zacznijmy wdrażać...

    Jak zarobić dużo pieniędzy w Internecie - z czym możesz to zrobić

    Podstawy wewnętrznej optymalizacji witryn pod kątem wyszukiwarek

    Proces optymalizacji stron internetowych pod kątem wyszukiwarek podzielony jest na 2 etapy:

    1. Optymalizacja wewnętrzna- optymalizacja wewnętrznych czynników witryny (kod, struktura strony, treść). Konieczne jest, aby początkowo Twoja witryna była atrakcyjna dla wyszukiwarek, aby nie zwiększać nakładu pracy dla siebie w miarę postępów.
    2. Optymalizacja zewnętrzna- poprawa pozycji serwisu ze względu na czynniki zewnętrzne (kupowanie linków, wymiana itp.).

    Dzisiaj chciałbym porozmawiać osobno o wewnętrznej optymalizacji i podkreśl główne punkty.

    Jak zrobić zrzut ekranu w systemie Windows 7, 8, 10 lub XP?

    Zrzut ekranu (zrzut ekranu) Ekran to funkcja, która pozwala szybko skopiować wszystko, co jest aktualnie wyświetlane na monitorze. W rzeczywistości jest to natychmiastowe zdjęcie twojego monitora, automatycznie zapisywane (głównie w formacie .png).

    W różnych sytuacjach może być wymagany szybki zrzut ekranu. Na przykład, jeśli otrzymujesz komunikaty o błędach, które mogą bardzo pomóc mistrzowi wykonującemu naprawę, jeśli chcesz napisać instrukcje wyjaśniające, jak pracować w dowolnym programie lub w określonej witrynie, lub jeśli osiągnięto określone wyniki w gra komputerowa i chciałby zapisać swój wyświetlacz na pamięć.

    Jak przywrócić system w Windows 7, 8, 10 lub XP?

    Samodzielna instalacja oprogramowania na komputerze PC wiąże się z pewnym ryzykiem, które może się wyrażać uszkodzeniem poprawnego działania całego systemu lub usunięciem niektórych przydatnych funkcji i ustawień, które były wygodne dla użytkownika.

    Dlatego bardzo ważne jest zapewnienie możliwości szybkiego powrotu do pierwotnego stanu bez utraty ważnych ustawień i plików.

    W tym celu system Windows udostępnia specjalną funkcję odzyskiwania systemu, która umożliwia tworzenie punktów kontrolnych stanu systemu Windows. Te ostatnie umożliwiają przywrócenie oprogramowania PC do poprzedniego stanu.