Latauslaskurin asentaminen - yleiskatsaus WordPressin laajennuksiin. Tiedostojen latauslaskurin luominen PHP:n ja MySQL:n avulla Teksti- ja kuvatiedostojen tallentaminen

Monilla sivustoilla on linkkejä tiedostojen lataamiseen. Esimerkiksi valmistusyritykset sijoittavat ohjeet tietylle tuotteelle virallisille sivuilleen. Lisäksi ohjelmistokehittäjät tarjoavat myös ohjelman lataamista ilmaiseksi, jolloin käyttäjä voi tutustua sen toimintoihin ja toimintaan.

Kun annat tietyn tiedoston ladattavaksi ilmaiseksi, on tärkeää tietää, kuinka monta kertaa se on ladattu. Tämä on välttämätöntä ennen kaikkea tilastoille, joiden analyysi auttaa määrittämään tietojen hyödyllisyyden loppukäyttäjälle.

Kuinka asettaa latauslaskuri WordPress-sivustolle?

WordPress-työkalujen joukossa näitä tilastoja ei ole mahdollista nähdä. Siksi käytämme kolmannen osapuolen ratkaisua - Kama Click Counter -laajennusta.

Kama Click Counter Plugin

Ilmainen laajennus Kama Click Counter tarjoaa kaikki tarvittavat työkalut tietyn tiedoston latausten määrän laskemiseen tarkasti. Joten ensin sinun on asennettava ja aktivoitava se. Näytä esimerkiksi tietuesivulla linkki pdf-tiedosto, jonka latausten määrä lasketaan. On huomattava, että tiedostot ladataan sivustolle standardi tavoilla mediakirjastot WordPress ( Mediatiedostot -> Lisää uusi). Seuraavaksi sinun on avattava viesti tai sivu muokkausta varten. Sisältöosassa sinun on asetettava kohdistin paikkaan, johon linkki tiedostoon sijoitetaan, ja klikata visuaalisen editorin työkalupalkissa näkyvää painiketta.

Ponnahdusikkunassa laajennus pyytää sinua valitsemaan aiemmin lataamasi tiedoston. Voit tehdä tämän napsauttamalla painiketta, jossa on suurennuslasikuvake.

Valitse mediakirjastosta haluamasi tiedosto ja napsauta painiketta Valitse tiedosto.

Tämän seurauksena julkaisun tai sivun sisältöosaan lisätään erityinen lyhytkoodi, joka näyttää linkin tiedoston lataamiseen.

Materiaalin päivityksen jälkeen (painike virkistää) voit siirtyä sivustolle katsomaan sitä.

Laajennus pystyy myös näyttämään lataustilastoja sivuston käyttäjäosassa - widgetissä. Huomaa, että laajennus ei oletuksena näytä widgetissä tiettyjä numeroita, mitä ja kuinka monta kertaa se on ladattu. Näyttöön tulee vain luettelo useimmin ladatuista tiedostoista. Voit tehdä tämän siirtymällä admin-osioon Ulkoasu -> Widgetit ja vedä widgetiä KSS: Suosituimmat lataukset haluttuun sivupalkin paikkaan.

Voidaan nähdä, että widgetissä on useita vaihtoehtoja, joiden avulla voit muokata luetteloa.

Täällä voit asettaa seuraavat perusparametrit:

  • widgetin otsikko (kenttä otsikko);
  • tulostiedostojen määrä luettelossa ( kuinka monta linkkiä näytetään?);
  • lajittele tulokset ( miten tulos lajitellaan?);
  • asetusta ulkomuoto malli (lohkot Näyte Ja CSS-malli).

Laajennuksen ominaisuus on mallin joustava räätälöinti. Täällä voit käyttää niin kutsuttuja tunnisteita, joiden sijasta tämä tai se tieto näytetään.

Kun kaikki widget-asetukset on tehty ja tallennettu (painike Tallentaa), voit nähdä tuloksen sivustolla.

Pitkään aikaan ei ollut oppitunteja PHP:stä ja MySQL:stä. Tänään luomme yksinkertaisen mutta tehokkaan latauslaskurin.

Jokaisessa tiedostossa on merkintä tietokantataulukon rivillä. Sama taulukko tallentaa tiedostojen latausten lukumäärän. PHP päivittää tietokannan MySQL ja ohjaa käyttäjä osoitteeseen vaadittu tiedosto.

Jos haluat seurata minkä tahansa tiedoston latausten määrää, sinun on asetettava se kansioon tiedostot ja käytä erityistä URL-osoitetta päästäksesi siihen.

Vaihe 1 - XHTML

Ensimmäinen vaihe on merkinnän luominen skriptillemme. Se on hyvin yksinkertaista - meillä on div-tiedostonhallinta, joka sisältää järjestämättömän luettelon, jossa jokainen luettelon elementti vastaa tiedostosta.

Tiedostot, joiden latauksia haluat seurata, sijoitetaan kansioon tiedostot komentosarjan juurikansiossa. PHP sitten iteroi kaikki tiedostot ja lisää jokaisen luettelokohteeksi ( li ) järjestämättömään luetteloon.

demo.php


  • photoShoot-1.0.zip 0 ladata

Huomaa, että attribuutti href links välittää tiedostonimen parametrina download.php. Tässä tulee käyttöön latausten seuranta.

Sinun ei tarvitse näyttää kaikkea samalla tavalla – voit vain linkittää osoitteeseen download.php sivuillasi ja kaikki lataukset eivät ohita.

Vaihe 2 - css

Merkintöjen jälkeen siirrytään suunnitteluun. css alla olevat säännöt koskevat div-tiedostonhallinta tunnuksella (#-symboli), koska se esiintyy sivulla vain kerran ja muihin elementteihin luokkanimien mukaan.

styles.css

#tiedostonhallinta(taustaväri:#EEE; reunus: 1px kiinteä #DDD; marginaali:50px automaattinen; täyte:10px; leveys:400px; )
ul.manager li( background:url("img/bg_gradient.gif") toista-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( /* Vie hiiri, näytä vihreä latausteksti: */ display:block; ) span. download- etiketti -shadow:0 0 1px #315D0D; top:6px; /* CSS3 pyöristetyt kulmat */
-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; ) span.download-count( color:#999; font-size:10px; padding:3px 5px; position:absolute; text-decoration:none; )

Vaihe 3 -PHP

Kuten aiemmin sanoin, PHP etsii tiedostoja tiedostokansiosta ja luettelee jokaisen tiedoston luettelokohteena järjestämättömässä luettelossa. Katsotaanpa kuinka se menee

demo.php- yläosa

// Coo virheiden raportoinnissa: error_reporting(E_ALL^E_NOTICE); // : vaadi "connect.php"; $extension=""; $tiedostot_taulukko = array(); /* Avaa kansio ja käy läpi kaikki tiedostot: */ $dir_handle = @opendir($hakemisto) or die("Tiedostohakemistossasi on virhe!"); while ($file = readdir($dir_handle)) ( /* ohittaa järjestelmätiedostot : */ if($file(0)==".") jatka; /* loppu() palauttaa taulukon viimeisen elementin funktion luoma explode(): */ $extension = strtolower(end(explode(".",$tiedosto))); /* Ohita php-tiedostot : */ if($extension == "php") jatka; $files_array=$tiedosto; ) /* Lajittele tiedostot aakkosjärjestykseen*/ sort($tiedostot_taulukko,LAJITTELU_STRING); $tiedosto_lataukset=taulukko(); $tulos = mysql_query("SELECT * FROM download_manager"); if(mysql_num_rows($result)) while($row=mysql_fetch_assoc($result)) ( /* Array Key $file_downloads tulee olemaan tiedoston nimi, ja sisältää latausten määrän: */ $tiedoston_lataukset[$rivi["tiedostonimi"]]=$rivi["lataukset"]; )

Huomaa, kuinka valitsemme kaikki rivit download_manager-taulukosta mysql_query()-komennolla, ja lisäämme ne myöhemmin $file_downloads-taulukkoon tiedostonimen avulla latausten lukumäärän avaimena. Joten myöhemmin koodissa voimme kirjoittaa $file_downloads["archive.zip"] ja tulostaa latausten määrän.

Alla näet koodin, joka luo luettelon elementit:

demo.php- keskiosa

Foreach($files_array as $key=>$val) ( echo "

  • ".$val." ".(int)$file_downloads[$val]." ladata
  • "; }

    Kaikki tehdään yksinkertaisesti $files_array-taulukon foreach-silmukalla. Sen jälkeen kaikki tulostetaan kaiun avulla.

    Katsotaanpa nyt tarkemmin, kuinka tiedostojen seuranta toimii.

    download.php

    // Virheiden tarkistus : error_reporting(E_ALL^E_NOTICE); // Ota db-yhteystiedosto käyttöön: vaatia("connect.php"); if(!$_GET["tiedosto"]) error("Parametri puuttuu!"); if($_GET["tiedosto"](0)==".") error("Väärä tiedosto!"); if(tiedosto_olemassa($hakemisto."/".$_GET["tiedosto"])) ( /* Jos ja vierailija ei ole hakubotti, laskea latauksia: */ if(!is_bot()) mysql_query(" INSERT INTO download_manager SET filename="".mysql_real_escape_string($_GET["file"])."" KAKSIOISTA AVAINPÄIVITYSTÄ downloads=downloads+1"); header("Sijainti: ".$hakemisto."/".$_GET["tiedosto"]); poistua; ) else error("Tätä tiedostoa ei ole olemassa!"); /* toimintoapulaiset: */ funktiovirhe($str) ( die($str); ) function is_bot() ( /* Tämä tarkistustoiminto robotissa*/ $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; // Onko botti ) return false; // Ei botti)

    On tärkeää tarkistaa, onko kävijäsi ihminen vai hakukonerobotti. Robotit ovat mukavia, mutta älkäämme antako niiden vääristää tilastojamme. Tästä syystä tietokannan rivi päivitetään vasta is_bot()-tarkistuksen jälkeen.

    Vaihe 4 -MySQL

    Kuten totesimme viimeisessä vaiheessa, latausten määrä tallennetaan rivinä download_manager-taulukkoon. Selitetään ensin, kuinka tämä kysely toimii:

    download.php

    INSERT INTO download_manager SET filename="filename.doc" DUPLICATE KEY UPDATE ON downloads=downloads+1

    Se käskee MySQL:ää lisäämään uuden rivin download_manager-taulukkoon ja asettamaan tiedostonimirivikenttään ladattavaksi pyydetyn tiedoston arvon. Tiedostonimi-kenttä on kuitenkin määritetty yksilöiväksi hakemistoksi taulukossa. Tämä tarkoittaa, että jokainen rivi voidaan lisätä vain kerran, muuten tapahtuu kaksoisavaimen virhe.

    Tässä kyselyn toinen osa toimii - ON DUPLICATE KEY UPDATE käskee MySQL:ää lisäämään yhden lataussarakkeeseen, jos tiedosto on jo olemassa tietokannassa.

    Siten uudet tiedostot lisätään automaattisesti tietokantaan ensimmäisen latauksen aikana.

    Vaihe 5 - jQuery

    Reaaliaikaisen seurannan tekemiseksi olisi hyvä päivittää tiedostonimen vieressä oleva laskuri jokaisen latauksen jälkeen.

    Teemme tämän jQuerylla:

    script.js

    $(dokumentti).ready(function()( /* Koodi suoritetaan sivun latauksen jälkeen*/ $("ul.manager a").click(function()( var countSpan = $(".download-count",this); countSpan.text(parseInt(countSpan.text())+1); ) ); ));

    Määritämme vain napsautuskäsittelijän linkeille, jotka johtavat tiedostoihin, ja lisäämme jokaiseen napsautukseen arvon.

    Vaihe 6 -htaccess

    On vielä yksi asia, joka on tehtävä. Download.php ohjaa käyttäjän pyydettyyn tiedostoon, joka välitettiin parametrina. Olet kuitenkin ehkä huomannut, että selaimet yrittävät avata tietyntyyppisiä tiedostoja suoraan. Meidän on myös aloitettava niiden lataus. Tämä voidaan tehdä muutamalla rivillä .htacess-tiedostossa, joka sijaitsee tiedostot-kansiossa.

    ForceType-sovellus/oktettivirta

    Nyt laskurimme on täysin valmis!

    Johtopäätös

    Jotta demo toimisi, sinun on luotava uudelleen download_manager-taulukko MySQL-tietokannassa. Löydät tarvittavan SQL-koodin lähteistä.

    Lisää sen jälkeen tietosi tietokantaan muodostamista varten konfiguraatio.php-tiedostoon.

    // Poista "maaginen lainaus" -tilan muunnos $_POST["sisältö"] = addslashes($_POST["sisältö"]);

    // Korvaa tiedoston sisältö file_put_contents($_POST["tiedostonimi"], "$_POST");

    4.9. Tiedostojen latauslaskuri

    Kaikkien tiedostojen latauslaskurien toiminta perustuu siihen, että vierailijalle ei anneta itse tiedostoa latauslinkkinä, vaan linkki skriptiin, joka laskee latauksen ja lähettää tiedoston käyttäjän selaimeen.

    Rakennamme laskurimme siten, että tiedoston latauslinkit ovat linkkejä nykyiselle sivulle, joka välittää tiedoston nimen parametrina, esimerkiksi index.php?down=archive.zip . Skripti tarkistaa, onko alas-parametri välitetty, ja jos on, se kirjaa arkiston latauksen tiedostoon filecount.txt. Kun sivu ladataan uudelleen, kunkin arkiston laskuriarvot puretaan tiedostosta näytettäväksi selainikkunassa. Tiedoston siirto ladattavaksi tapahtuu lähettämällä vierailijalle HTTP-otsikko Location, joka osoittaa polun ladattavaan arkistoon. Tiedostojen latauslaskurikomentosarja saattaa näyttää listalta 4-31.

    Listaus 4.31. Tiedostojen latauslaskuri

    // Aseta virheenkäsittelytaso error_reporting(E_ALL & ~E_NOTICE);

    // Tiedostonimien rekisteröinti taulukkoon

    $tiedoston_nimi = array("arkisto1.zip","arkisto2.zip","arkisto3.zip");

    // Sen tiedoston nimi, johon tilastot on tallennettu $countname = "tiedostomäärä.txt";

    // Jos tiedosto on olemassa,

    // lue nykyiset tilastot taulukkoon if(file_exists($countname))

    // Hanki tiskin sisältö

    $sisältö = file_get_contents($countname);

    // Pura taulukko

    $count = unserialize($content);

    // Jos tällaista tiedostoa ei ole, luo se

    // ja nollaa tilastot

    // Täytä $count-taulukko nollalla foreach($file_name as $file)

    $count[$tiedosto] = 0;

    // Pakkaamme taulukon ja laitamme sen laskuriin file_put_contents($countname, serialize($count));

    // Tarkistetaan, onko alas-parametrin arvo välitetty

    // GET-menetelmän kautta

    if(isset($_GET["alas"]))

    // Tarkista, onko parametrin $_GET["alas"] arvo mukana

    // taulukkoon $file_name

    if(in_array($_GET["alas"],$tiedoston_nimi))

    // Rekisteröimme tämän tiedoston lataamisen

    // Lisäämme laskurin arvoa avaimella

    // $_GET["alas"] yhdellä

    $count[$_GET["alas"]]++;

    // Korvaa laskuritiedosto file_put_contents($countname, serialize($count));

    echo "Tiedoston $tiedosto latasi ".intval($count[$file])." kertaa
    ";

    Ladattujen tiedostojen nimet tallennetaan taulukkoon $file_name, ja uuden arkiston lisääminen johtaa sen automaattiseen rekisteröintiin järjestelmään. Ennakkorekisteröinti taulukkoon on tarpeen useista syistä. Ensinnäkin, kun hyväksyt taulukon nimen alas-parametrin kautta, sinun on tarkistettava, onko se niiden tiedostojen joukossa, jotka voidaan ladata. Toiseksi tiedostonimien käsittely taulukossa on paljon kätevämpää. Joten $count-taulukko, joka tallentaa tiedostojen latausten määrän, rakennetaan automaattisesti järjestelmään rekisteröityjen tiedostojen joukon perusteella,

    On kätevää pakata taulukko merkkijonoon serialize()-funktiolla ja purkaa se sitten takaisin taulukkoon käyttämällä unserialize()-funktiota.

    HUOMAUTUS

    On tärkeää muistaa, että kaikki HTTP-otsikot on lähetettävä ennen pääsisällön lähettämistä, muuten niitä ei lähetetä ja PHP-tulkki antaa varoituksen "Varoitus: Otsikkotietoja ei voi muokata - otsikot on jo lähettänyt"

    (Varoitus: otsikkotietoja ei voi muokata - otsikot on jo lähetetty). Tämän sanelee HTTP-protokolla: ensin lähetetään otsikot, sitten asiakirjan sisältö, joten mikä tahansa tulos selainikkunaan nähdään otsikoiden lähettämisen päättymisenä ja asiakirjan rungon lähettämisen alkamisena. Jos tulostaminen selainikkunaan ennen otsikoiden lähettämistä on väistämätöntä, sinun on turvauduttava ulostulon ohjaustoimintoihin, puskuroimalla kaikki tulosteet ja lähettämällä se skriptin lopussa.

    Kuten näet listasta 4.31, komentosarja käsittelee ensimmäisen ajon tilanteen, jossa filecount.txt puuttuu - se luodaan automaattisesti ensimmäisen sivun latauksen yhteydessä, laukaisee nolla-arvot jokaiselle tiedostolle $file_name-taulukossa. Listauksen 4.31 komentosarjan tulos näkyy kuvassa 1. 4.4

    Riisi. 4.4 Tiedostolaskurin tulos

    4.10. Teksti- ja grafiikkatiedostojen tallentaminen

    Tekstitiedostojen tai HTML-tiedostojen linkin napsauttaminen johtaa niiden näyttämiseen selainikkunassa, mikä ei ole aina kätevää, varsinkin jos tiedosto on tarkoitettu ladattavaksi. Sama kohtalo odottaa grafiikkatiedostoja ja yleensä kaikkia tiedostoja, jotka selain voi näyttää. Vierailijan selain "oppii" tiedoston sisällön palvelimelta, koska jokaisen tiedoston mukana on HTTP-otsikot, jotka kertovat asiakkaalle sisällöstä, ladattavan tiedoston koosta, evästeen asettamisen tarpeesta jne. Jos tiedostotyyppi ei voitu määrittää, se lähetetään yksinkertaisesti binäärivirtana.

    Voit estää tämän toiminnan lähettämällä HTTP-otsikot, jotka näkyvät luettelossa 4-32.

    Listaus 4.32. Komentosarja teksti- ja kuvatiedostojen tallentamiseen

    $tiedostonimi = perusnimi($_GET["alas"]); header("Sisältö: liite; tiedostonimi=$tiedostonimi"); header("Sisältötyyppi: sovellus/oktettivirta"); header("Sisällön pituus: ".filesize($_GET["alas"]));

    echo file_get_contents($_GET["alas"]); ?>

    Listassa 4-32 oleva komentosarja ottaa tiedostonimen GET-parametriksi, esimerkiksi

    index.php?down=tiedostoteksti.txt . Toiminnon käyttäminen basename() hakee nimen

    tiedosto (jos down GET -parametri sisältää polun tiedostoon). Content-Disposition HTTP-otsikko määrittää tallennettavan tiedoston nimen, joka määritetään filename-attribuutilla. Yllä olevassa skriptissä tiedostonimi-parametri on sama kuin lähetettävän tiedoston nimi, mutta mielivaltainen nimi voidaan antaa tiedostonimiparametriksi. Content-type HTTP-otsikko osoittaa, että lähetetty data on binääristä eikä selaimen tule tulkita sitä. Content-length HTTP-otsikko välittää tiedoston koon asiakkaalle. Viimeisellä rivillä näkyy tiedoston sisältö, joka on siirretty parametrin $_GET["alas"] kautta, joka noudetaan file_get_contents()-funktiolla. Listauksen 4.32 komentosarjan tulos on esitetty kuvassa 1. 4.5.

    HUOMAUTUS

    On tärkeää, että kun tiedoston sisältö on tulostettu, virtaan ei tulosteta mitään muuta: ei kaikukonstruktilla eikä suoralla ulostulolla - muuten kaikki liitetään tiedoston loppuun. Tämä koskee mahdollisia välilyöntejä sekä rivinvaihtoja ?> -tunnisteen jälkeen.

    Riisi. 4.5. Tiedoston lataus -valintaikkuna

    Seuraava kysymys, josta kiinnostuin äskettäin asettaessani vaatimatonta kirjailijaprojektiani, oli kysymys siitä, kuinka laskea tietyn tänne lähetetyn tiedoston latausten määrä. Looginta oli olettaa, että tämä vaatii toisen liitännäisen, jonkinlaisen lataushallinnan tai yksinkertaisemmin latauslaskurin. Internetistä etsimisen jälkeen kävi ilmi, että kuten tavallista, nämä laajennukset ovat vaunu ja pieni kärry. Mutta heidän arvostelunsa - taas ei. Mitä valita, ei ole täysin selvää, ja kuten tavallista, minun piti testata kaikki itse. Ja testaustulosten mukaan tämä arvioija osoittautui. Sitä kirjoitettiin erittäin pitkään, kun taas tavoitteena ei ollut kaikkien yllä olevien laajennusten perusteellinen testaus ja niiden asetusten täydellinen tarkastelu, joten et löydä yksityiskohtaisia ​​kuvakaappauksia jokaisesta, mutta tässä ovat tärkeimmät asetukset. En halunnut puhua joistakin ollenkaan - ne olivat niin tyhmiä, mutta jos olin jo katsonut, oli sääli olla kirjoittamatta mitään.

    Johdanto.

    Joten tehtävänä oli laskea tietyn tiedoston latausten määrä asettamalla WordPressin latauslaskuri. Tarkemmin tarkasteltuna se hajosi useisiin alitehtäviin, tai pikemminkin, toivoo sen suorittavaa laajennusta. Tässä on lyhyt luettelo niistä:

    • On välttämätöntä, että latausten määrä näkyy jossain hallintapaneelissa, ja siinä on mahdollisuus lajitella - kuinka monta ladattiin päivässä, viikossa, kuukausi, vuosi, yhteensä
    • On toivottavaa, että näet kaavioita / kaavioita tiedostojen lataamisesta suhteessa toisiinsa
    • On toivottavaa, että näet kaavioita / kaavioita tiedostojen lataamisesta ajan kuluessa
    • On toivottavaa, että tilastot säilytetään siitä, milloin tiedosto on viimeksi ladattu
    • Mahdollisuus näyttää linkin vieressä tietoja siitä, kuinka monta kertaa tiedosto on ladattu, sekä sen koko ja latauspäivä käyttäjälle, joka on juuri lataamassa sitä. No, tai ei näytettäväksi - järjestelmänvalvojan pyynnöstä
    • Mahdollisuus lisätä tästä vastaava koodi erillisellä painikkeella paneelissa viestien kirjoittamista varten TinyMCE-editori(en halua käyttää pikatunnisteita)
    • Mahdollisuus rajoittaa latausnopeutta (niin varmuuden vuoksi)
    • Lataustoiminnon liittäminen tähän laajennukseen (tiedostojen lataaminen palvelimelle) - päinvastoin, ei antanut periksi. FTP toimii minullakin hyvin. Mutta jos se ei paljon häiritse, niin anna sen jäädä
    • Olisi kiva saada kaunis painike kiinni latauslinkkiin - vaikka minun tarvitsee vain kirjoittaa class = "button"

    ABAP

    Lataa tiedosto!

    • No, jos lasket latausten määrän paitsi sivustoltasi, myös yksinkertaisesti linkin kautta
    • Mahdollisuus kieltää suora lataus tiedostoa näyttämättä missä se on palvelimella.

    Tämä on niin pieni lista.

    Arvostelu

    Kun olemme päättäneet TOR:sta, alamme pohtia, mitä meille tarjotaan suoraan.

    1. Plugin Download Counter 1.2, ladattu täältä.

    Aluksi laajennussivu löytyi, mutta kirjoittaja ei ole tukenut sitä yli 4 vuoteen. Luomme sille toisen kansion plugins-hakemistoon minulle - download-counter, heitä molemmat tiedostot sinne. Seurauksena - missä luulet? - sen asetukset näkyvät tietueissa. Erittäin omaperäinen, mutta ok.

    Menemme sisään, kirjoitamme polun download-manager.php-tiedostoon (en todellakaan halua heittää mitään hölynpölyä suoraan juureen). Ja katso mitä meillä on. Lataa tiedosto, tarkista latautuuko se Manuaalitila, jos syötät selaimeen suoran linkin, luo laskuri antamalla polku laajennukseen. Teoriassa pitäisi luoda tunnus, joka on sitten lisättävä kaikkialle. Mutta mitään ei tapahtunut - se antaa virheilmoituksen "Virhe - Tietuetta ei voida tallentaa". No, ok, suostuttelimme, siirrämme sen download-manager.php-juureen - ei mitään, sama virhe. No, helvettiin, kultakala, minulle ei riittänyt ymmärtämään liitännäisiä, joista kirjoittaja ei antanut periksi. Lisäksi toiminnallisuus on käytännössä nolla.

    2. Plugin Download Counter Advanced 1.1, ladattu sama.

    Sanon heti, että se ei todellakaan toiminut minullakaan, joten voit lukea sen asennuksesta ja konfiguroinnista vain akateemisesta mielenkiinnosta. Itse asiassa tämä on sama laajennus, vain hieman muokattuna. Luojan kiitos, vaikka ohjetta ei ole käännetty, voit lukea sen normaalisti, etkä yritä ymmärtää, mitä kääntäjä tarkoitti. Muuten, hallintapaneelissa - se näyttää olevan täysin erilainen laajennus, joka tarjoaa päivitystä (kyllä, kuva). Edellisen laajennuksen tapaan sen sivu sijaitsi, ja samalla tavalla kirjoittaja ei ole tukenut sitä yli 4 vuoteen. Analogisesti luomme sille toisen kansion plugins-hakemistoon, minun on latauslaskuri, heitämme kaikki tiedostot sinne. Asetukset näyttävät tietysti monipuolisemmilta, vaikka latausnopeus on rajoitettu välittömästi kaikille tiedostoille, eikä sitä ole asetettu jokaiselle erikseen. Missä on download-manager..php-tiedosto (älä unohda tiedoston nimeä lopussa, mutta missä kaikki lataukset ovat - arvasin ensimmäisen kerran, mikä sai minut kauheaan hämmästykseen. Kuten myöhemmin kävi ilmi, arvasin sen sen hakemiston nimellä, johon lataukset asetetaan, logiikkani toimi tässä 100% samalla tavalla kuin laajennuksen kirjoittaja.

    Lisäämme palvelimella olevien kansioiden nimet lataushakemistoon ("luokat ja hakemistot" -asetuksiin), jotta tiedostojen polun valinta on helpompaa. Jos et lisää niitä, sinun on ladattava kaikki latausjuureen. Tallenna, voit lisätä latauksia. Tässä on mitä karkeasti saamme.

    Nyt yritämme lisätä viestiin. Lisäämme linkin, muutamme siinä linkin koodiin, joka myönnetään suoraan laajennuksen asetuksissa. Ja sitten... Ja viikunoita sinulle! HTTP-virhe 500 (sisäinen palvelinvirhe): Odottamaton tilanne tapahtui, kun palvelin yritti täyttää pyynnön. No, aioin vain kertoa kuinka laskuri lisätään suoraan viestiin, entä jos linkki sisällä jotta se tapahtuisi

    ABAP

    < ahref= "http://chewriter..jpg" />

    sitten voit näyttää latauspainikkeen - vinossa, todellakin. Tässä on laajennus sinulle, hukkaan aikaasi. Hän ei erityisesti pidä tilastoja, koska missä vika on, sitä emme saa selville.

    Tämä on juuri se laajennus, johon yllä oleva Download Counter Advanced ehdotettiin päivitettäväksi. No, hän tarjoaa - ja okei, ladataan, katsotaan. Laajennusta ei ole päivitetty yli 3 vuoteen, ja jotkut käyttäjät jopa tekivät korjauksia sen koodiin itse. Se on asennettu melko onnistuneesti, asetusten askeettisuus ei herätä optimismia. Muuten, myös hyvin tehty, he arvasivat, mihin asetukset sijoitetaan - ei huonommin kuin edellisessä tapauksessa. Lisäämme laskurit asetussivulle, kaikki näyttää olevan korostettuna, kuten pitää.

    Katsotaan mitä meillä on postauksen lisäyksellä. Joo, ei painikkeita. Ja no, tietysti, unohdin siellä, kaikki on intuitiivista. Mennään ohjeisiin. On tarpeen estää monimutkainen rakenne, joka koostuu lyhytkoodeista, kuten , ladattu , ja samalla (luultavasti NC:n vuoksi) se ei todellakaan laske mitään.

    Siksi sitä ei käsitellä enempää, emmekä tee sitä yhdessä siihen liittyvän Download Counter Chart -laajennuksen kanssa, joka näyttää tiedot graafisessa muodossa.

    Maanmiehen kirjoittama, mutta valitettavasti hän ei voi muuta kuin näyttää tiedoston lataajien lukumäärän sen nimen vieressä - tilastoja tai muita herkkuja ei tarjota. Kuitenkin, jos olet minimalismin fani, tämä on mitä tarvitset. Älä vain unohda, että painikkeita ei ole, kuten lyhytkoodi


    tee-se-itse latauslaskuri wordpressille

    on syötettävä manuaalisesti. On erittäin hyvä, että kirjoittaja maalasi kaiken yksityiskohtaisesti, minun ei tarvinnut testata sitä itse.

    No, jos puhumme ihmisten kirjoittamista laajennuksista, emme voi olla mainitsematta vielä yhtä. Sen valtava plussa on, että sen avulla voit laskea paitsi tiedostojen latausten määrän, myös vain linkkien napsautukset - ei ole väliä, johtavatko ne mihin tahansa tiedostoon vai vain toiselle sivulle. Tai jonkun muun sivun tiedostoon 🙂 Hän myös laskee tämän, tai pikemminkin teoreettisesti, hänen pitäisi laskea se. Hänen tilastonsa eivät myöskään ole niin kuumia, muokkauspaneelissa ei ole painikkeita, latauksille ei myöskään ole rajoituksia. Mutta silti mielenkiintoista nähdä. Joten lataa ja asenna. Periaatteessa melko yksityiskohtainen kuvaus on kirjoittajan sivuilla, joten en levitä sitä liikaa. Sinun on aina pidettävä mielessä, että jos haluat asettaa laskurin tiedostoon tai linkkiin, sinun tulee joko käyttää tyyppistä lyhytkoodia tai lisätä linkkiin class = "count" -luokka. Tämä on tietysti ärsyttävää, painikkeella se olisi paljon kätevämpää. Mutta ärsyttävintä on, että kaikkien eleiden jälkeen en vieläkään saanut sitä toimimaan kunnolla - jos lyhytkoodia käytettiin, latauslinkkiä ei näy, ja jos luokkaa käytettiin, linkkitilastot eivät näkyvät hallintapaneelissa. Kuvakaappauksia voi katsella kirjoittajalta - jos pidät itse ideasta - kokeile sitä, ehkä onnistut.

    Todellakin, hyvin yksinkertaista. Ei vaadi lyhytkoodeja tms. Tämä laajennus tarjoaa kuitenkin tilastot vain kirjoittajalle, mutta vierailijoille tiedostolinkin vieressä sitä ei näytetä.

    On kuitenkin syytä huomata, että yksityiskohtaisia ​​tilastoja pidetään siitä, kuka lataa minkä tiedoston ja milloin. Sen käyttö ei kuitenkaan ole kovin kätevää.

    Asetukset sisältävät seuraavat:

    • Voit määrittää hakemiston, josta tiedostot voidaan ladata
    • Voit määrittää ladattavien tiedostojen tyypit
    • Poista tiedoston lataus käytöstä tekijänä
    • Aseta sekunneissa aika, jonka aikana toistuvat napsautukset samasta IP-osoitteesta linkillä lasketaan vain kerran
    • Rajoita yhdestä IP:stä päivässä ladattavien tiedostojen määrää
    • Käytä jotain välisivua, jossa on tietoa, että lataus alkaa nyt

    Tämä kaikki toimii kuitenkin vain, jos sinulla (miten sen yksinkertaisesti sanottuna...) on lupa muokata .htaccess-tiedostoa tai jos määrität linkin suoraan lisäämällä sen

    Koska se ei kuitenkaan pystynyt näyttämään tilastoja käyttäjille, enkä halunnut muistaa linkin tyyppiä, lopetin sen harkinnan ja päätin palata vain, jos muut jonon liitännäiset eivät pystyneet ratkaisemaan tehtävää .

    Tietojen näyttämisen kannalta tämä laajennus on hyvin samanlainen kuin edellisessä kappaleessa käsitelty. Se eroaa siitä, että sen avulla voit tarkastella tilastoja erikseen viikoittain, kuukausittain, mistä tahansa ajanjaksosta ja vain top 10:stä. Ominaisuuksiensa suhteen se on paljon surkeampi, ei ole tilastoja viimeisestä latauksesta tai tietystä tiedostosta, puhumattakaan mahdollisuudesta asettaa rajoituksia tiedostojen lataamiselle. Selkeää dokumentaatiota ei ole ollenkaan. Sain sen vaikutelman, että tämä on vain jonkinlainen väärinkäsitys, ei liitännäinen. En edes halua antaa kuvakaappauksia, mutta ollakseni objektiivinen, annan niille silti tekijänoikeudet.

    No, pääsimme johonkin enemmän tai vähemmän arvokkaaseen. Lähes puoli miljoonaa latausta kertoo jotain. Liitännäisen virallinen sivu on täällä. Jos haluat lisätä tiedoston viestiin, sinun on käytettävä visuaalisen editorin yläpuolella olevaa nuolta (kuvake ei näy siinä itsessään)

    Valitse näkyviin tulevasta ikkunasta haluamasi tiedosto (tämä on esimerkki, jos se on jo ladattu FTP:n kautta)

    Napsauta sitten "Tallenna uusi lataus" -painiketta

    ja siirry seuraavaan näyttöön, valitse latausmuoto ja napsauta laittaa sisään lähettää. On mahdollista, että mitään ei tapahdu. Plugin on hieman viallinen uusimmat versiot wordpress. Siksi sinun on lisäksi napsautettava linkkiä Näytä lataukset

    Ja jo silloin valitse ensin latausmuoto, napsauta Lisää-linkkiä sen tiedoston vieressä, jonka haluat lisätä.

    Tämän jälkeen viestiin ilmestyy tyypin vastaava lyhytkoodi

    ABAP

    [downloadid="7592" format="1"]

    Laajennus vaatii hienon manuaalisen konfiguroinnin, mutta WYSIWYG:itä ei tarjota. Hyvä, että sinun tarvitsee asentaa se vain kerran. Yksityiskohtaiset asiakirjat ovat kirjoittajalla.

    Tässä on esimerkki asennuksesta:

    ABAP

    (titteli)

    < ahref= "(url)" title="Ladattu (osumat,"ни разу","1 раз","% раза"}">{title}!}

    On huomattava, että deklinaatioita ei tueta, ts. jos tiedosto on ladattu 21 kertaa ja mallissasi on "times", se kuulostaa jokseenkin epävenäläiseltä.

    Ja tässä on painikevaihtoehto:

    ABAP

    - (kuvaus), (koko), Ladattu (päivämäärä,"Y-m-d"), Ladattu (osuma) kertaa

    < ahref= "(url)" title="Ladattu (osumat,"ни разу","1 раз","% раза"}">!} - (kuvaus), (koko), Ladattu (päivämäärä,"Y-m-d"), Ladattu (osuma) kertaa

    Näyttää tältä:

    No, pienen tarkentamisen jälkeen se alkoi näyttää tältä (vielä ilman painikkeita):

    Rivikoodi:

    ABAP

    (tiedostotyyppi_kuvake) (titteli)(Tiedoston koko: (koko), Lähetetty: (päivämäärä"d.m.Y"), Ladattu (osumat) kertaa)
    (kuvaus)

    Luettelo mahdollisuuksista on melko laaja:

    • Voit ladata tiedostoja sekä sen avulla (napsauttamalla nuolta) että ilmoittaa paikan missä ne ovat, jos ne on ladattu aiemmin FTP:n kautta, voit määrittää URL-osoitteen
    • Piilottaa tiedoston todellisen sijainnin, voit korvata minkä tahansa tarvittavan URL-yhdistelmän
    • Voit käyttää latauspainiketta, myös omaasi
    • Älä laske järjestelmänvalvojan latauksia ja kaikkia tarpeettomia IP-osoitteita, jotka sisältyvät vastapoistoluetteloon
    • Lasketaanko toistuvat lataukset tietyn ajan sisällä samalta IP-osoitteelta
    • Voit asettaa useita muotoja - kuvalla, laskurilla, ilman laskuria jne. ja käyttää jokaista niistä sopivassa tilanteessa
    • Latausloki on ladattu csv-tiedostona

    Jos mp3- tai videotiedosto ladataan, sinun on määritettävä ne, pakotettava lataus vai ei. Jos pakottaa - niin sitä napsauttamalla, se ladataan, jos ei rastita - pelataan, sitten tallennetaan - hiiren oikealla painikkeella. Haluan huomauttaa, että sen avulla ladattuja tiedostoja ei sijoiteta sinne, missä tiedostojen erityinen hakemistosi luodaan, vaan sen luomaan wp-content/uploads/downloads/ - sinun on muistettava tämä, samoin kuin se, että kun niitä poistetaan tilastoista - fyysisesti tiedostot poistetaan myös palvelimelta. Niiden kanssa, jotka on ladattu FTP:n kautta - kaikki on kunnossa. Lisäksi, jos lisäät linkin eri viesteihin samaan tiedostoon, en ymmärtänyt, tiivistääkö se niistä. Valitettavasti se ei tue latausrajoituksia lukuun ottamatta sitä tosiasiaa, että voit estää kaikkia, paitsi rekisteröityneitä käyttäjiä lataamasta. Kun haluat näyttää tiedostonimen selaimen alimmalla rivillä tai haluat vaihtaa sen tunnukseksi - sinun on muistettava mennä asetuksiin->pysyvät linkit ja tallentaa asetukset sinne, jotta kaikki on rekisteröity oikein .htaccessissa - Ilman tätä tiedostoja ei ladata.!

    Tilastot näkyvät kolmessa paikassa kerralla - konsolissa, tiedostotiedoissa ja latauslokeissa. Tämä aiheuttaa tiettyjä haittoja, esimerkiksi kun haluat nähdä, milloin tiedosto on ladattu viimeksi, mutta voit ladata tilastot csv-tiedostona ja lajitella ne sitten Excelissä. Kun otetaan huomioon se tosiasia, että Excelillä on pirullinen kyky rakentaa tarvittavat taulukot ja kaaviot, ehkä tämä ei ole huono. Uskon kuitenkin, että kuvakaappaukset kertovat enemmän:

    No, kuvakaappaus itse lokista:

    Samaan aikaan valtava plussa on, että konsoliin ilmestyy widget, jolla on seuraavat tilastot:

    Yleisesti voidaan sanoa, että pienen säätämisen jälkeen laajennus tekee työnsä hienosti.

    Tämän laajennuksen on kirjoittanut sama tekijä kuin esimerkiksi tällä sivustolla käyttämäni WP-Polls-laajennuksen. Vaikka se on siihen verrattuna suuruusluokkaa vähemmän suosittu. Mutta katsotaan onko se ansaittu. Kaikki asiakirjat löytyvät kirjoittajan verkkosivuilta. Pohjimmiltaan laajennus on täysin identtinen edellisen kanssa - malli on kirjoitettu samalla tavalla, lataamiselle ei ole rajoituksia, paitsi rekisteröityneille tai rekisteröimättömille käyttäjille, on myös käytettävä lomakkeen lyhytkoodia

    ABAP

    [lataa = "7592"]

    ja loput kohdat:

    • Voit ladata tiedostoja sekä sen avulla (enintään kaksi Mt, hyvin tai kuinka monta olet määrittänyt php.inissä) ja määrittää paikan missä ne ovat, jos ne on ladattu aiemmin FTP:n kautta, voit määrittää URL-osoitteen
    • Piilottaa tiedoston todellisen sijainnin, mutta ei ole mahdollista korvata mitään tarvittavaa URL-yhdistelmää, on vain muutama kiinteä vaihtoehto, joista tärkein ei toiminut minulle
    • Voidaan määrittää näyttämään vierailijoille tietoa tiedoston koosta, kuinka monta kertaa se on ladattu, milloin se on ladattu
    • Voit näyttää kuvakkeen vastaaville tiedostotyypeille
    • Voit nollata laskurin tai asettaa haluamasi arvon

    On kuitenkin myös joitain eroja. Ensinnäkin visuaalisessa editorissa ei ole painiketta, jolla voidaan lisätä lyhytkoodi. Pikemminkin siellä on painike, mutta käyttääksesi sitä, sinun on ensin lisättävä tiedostolle laskuri liitännäisasetuksiin, ja sitten tämä painike lisää laskurin tunnuksen suoraan viestiin. Toiseksi mallia on vain yksi, eikä se toimi näyttämään eri tietoja eri tiedostoista. Tilastojen plussista se näyttää, milloin tiedosto on viimeksi ladattu, muutoin on vain miinuksia - ei lataamista csv-tiedostoon, ei katsota, kuka latasi (ei ole IP-osoitteita), ei jakelua päivämäärän mukaan.

    Mutta kuvakkeet ovat kauniimpia (liitin ne myöhemmin edelliseen liitännäiseen). Hänen työnsä tulos on seuraava:

    Lisäksi tietuetta tietokannasta poistettaessa se kysyy, onko myös tarpeen poistaa itse tiedosto vai jättää se pois. Mutta ominaisuuksien kokonaisuuden suhteen pidin siitä vähemmän kuin edellisestä - ainakin sen takia, että tiedosto pitää laittaa erikseen postauksen ulkopuolelle, mutta siinä ei ole erityisiä miinuksia - valinta niiden välillä on makuasia, ensimmäisessä on enemmän vaihtoehtoja, tarkemmat tilastot, toisessa - hieman kätevämpi (tosin huonompi) tilasto ja vähemmän ominaisuuksia.

    Raskas tykistö aloitti toimintansa. Laajennus on enimmäkseen venäläistetty, ja se on lataushallinta, ei laskuri. On mahdollista rajoittaa latausnopeutta ja latausten määrää henkilöä kohti päivässä.

    Mutta sanoisin, että jotkin tämän laajennuksen ominaisuudet ovat tarpeettomia, eivätkä tilastollisesti välttämättömät riitä. Paljon asetuksia, latauswidgetejä, monimutkainen synkronointijärjestelmä, järjestelmä mp3-tunnisteiden näyttämiseen, flv-tiedostojen näyttämiseen, minitiedostotallennustilan järjestämiseen, kaikkien sivulla määritettyjen tiedostojen näyttämiseen viestin alussa tai lopussa jne. , jne.

    En edes halua antaa kuvakaappauksia kaikista asetuksista.

    Kuitenkin kaiken tämän kanssa - jotta mallin näyttäisi kauniisti viestissä - minun piti muokata siinä olevaa tyylitiedostoa vähentäen leveyttä. Lisäksi oletusmallin näyttämiseksi se on välttämätöntä sen jälkeen, kun olet lisännyt lyhytkoodin painikkeella

    syötä mallin nimi manuaalisesti koodiin. Jonkin verran ristiriidassa venäläisen nimen kanssa. Muuten, se näyttää tältä (annan kolme mallivaihtoehtoa kerralla):

    Laskee - kantokannen kautta (no, tai useampaa kuin yhtä latausta IP:stä ei lasketa, en tiedä). Tilastot ovat hieman vähemmän kuin täysin huonoja, hyvin samankaltaisia ​​kuin edellä käsitelty laajennus.

    Yleensä minusta jäi vaikutelma - terve, mutta tyhmä. Soveltuu joillekin tiedostoille, ja jopa silloin - jos yhdessä jonkin muun liitännäisen kanssa. Katsoin häntä - kyllä, ja purettiin.

    Suoraan sanottuna, kun luin hänen kuvauksensa, ajattelin - siinä se, mitä tarvitsen!

    Laskuri, salasanasuojaus, painikkeella lisätty lyhytkoodi, muokattava painike jne.

    Ja se näyttää tältä (hän ​​antoi kaksi käytettyä kolme mallia kerralla):

    Kuitenkin, jotta voit lisätä tiedoston, sinun on ensin lisättävä sen laskuri laajennuksiin. Toiseksi tilastoja ei ole käytännössä ollenkaan.

    Kolmanneksi et voi määrittää tiedoston koon näyttöä käyttäjälle. Neljänneksi, latausnopeusrajoitusta ei ole, tiedostolla on vain salasanasuojaus. Malleja ei voi muokata. Ja iso kirjoitus, jossa tarjous ostaa premium-versio 45 taalalla. No, yleisesti ottaen ymmärrät. Kaikki herkullinen on isoäideille. Deaktivoitu ja purettu. Ja kauniit kehykset, napit jne. - Itse määrään tyylejä, kun haluan.

    Yhteenveto

    Asenna tavallisella tavalla (kopioimalla hakemistoon wp-content/plugins/download-monitor/, anna päivittää, korvaa kaikki kuvakkeet kuvakkeilla hakemiston arkistosta wp-content/plugins/download-monitor/img/filetype_icons/ ja aktivoida.

    Tulevaisuudessa, jos saan käsiini, aion tehdä linkit kivoiksi kehyksiksi css3:lla, josta todennäköisesti myös kirjoitan. Pysy kanssamme 🙂

    Upd. Nyt kirjoittaja on suunnitellut uudelleen WordPress Download Monitor -laajennuksen ja luonut täysin erilaisen version kuin alkuperäinen. Tarkistin sen, mutta pidin siitä paljon vähemmän, koska latauslinkin ulkoasun lomakemallia ei ole nyt niin helppo muokata. Kirjoittaja päätti, että valmiit esiasetetut näkymät riittäisivät. Jos esimerkiksi latausvalikossa, sitten - asetukset, valitse haluamasi näkymä kuudesta esiasetetusta näkymästä, napsauta Tallenna

    Sitten kun valitset toisen vaihtoehdon, saat jotain tällaista:

    Nuo. päällä uusi versio kuvauksessa antamani rivin käyttäminen ei toimi, mutta on tarpeen kirjoittaa erityinen php-tiedosto, jonka tämä tulostemalli kuvaisi. Mutta surullisin asia ei ole edes tämä - vaan se, että tämä php-tiedosto, jos se laitetaan hakemistoon laajennuksen kanssa, korvataan joka kerta kun laajennus päivitetään. Ja jos laitat sen hakemistoon teeman kanssa, sitten kun muutat teemaa (vaikka tämä tietysti tapahtuu paljon harvemmin). Mutta joka tapauksessa sen kirjoittaminen on melko työläs tehtävä, enkä toistaiseksi ole halunnut tehdä sitä. Joten päivitetyn laajennuksen ainoa plus

    Päätin nähdä, kuinka monta kertaa yksi skriptistäni ladataan sivustolta. Tätä varten päätin kirjoittaa sivustolle tiedostojen latauslaskurin. Internetissä on monia tämän tehtävän toteutuksia, mutta lue siitä huolimatta ratkaisuni.

    Latauslaskurin logiikka on melko yksinkertainen. Sen toteuttamiseksi käytämme suosikki ajaxiani. Pidämme painiketta kiinni, kun clik-tapahtuma tapahtuu, kutsu ajaxin kautta php tiedosto laskuri. Php:ssä ajax-pyyntö käsitellään ja latausten kokonaismäärä kirjoitetaan tekstitiedostoon. Onnistuneen tallennuksen jälkeen palautetaan kokonaislatauslaskuri ja käyttäjä ohjataan linkkiin tiedoston latausta varten (tiedostoa ladataan). Tässä on niin yksinkertainen logiikka. Aloitetaan nyt sen toteuttaminen. Luodaan etukäteen ladattava test.zip-tiedosto. Tehdään painikekoodi ja näytetään hyppylaskuri.

    Hyppyjen määrä:

    Olemme luoneet painikkeen, jossa on id="btnSend" , näytämme laskurin välillä id="countView" , tallennamme linkin ladattavaan tiedostoon data-download-attribuutissa

    Kiinnitetään nyt napsautuskäsittelijä painikkeeseen. Täällä käytämme jo js:ää ja jqueryä. Voit lukea kuinka toteuttaa clik jQuerylla. Mutta ennen napsautuskäsittelijän asentamista, käytämme ajax-tiedostoa count.php-tiedostoon, joka sisältää kaiken laskurin työn. Voit lukea lisää ajax-tiedonsiirrosta. Tämä on tarpeen, jotta voidaan näyttää tiedostosta, johon laskuri kirjoittaa, jo tehtyjen latausten lukumäärä ja näyttää ne id="countView"

    /*hae nykyinen latausten määrä*/ $(document).ready(function()( //estä välimuisti ajax-pyyntö //muuten laskuri epäonnistuu $.ajaxSetup((cache: false)); var html; $. ajax (( //miten välitämme tietotyypin: "GET", //johon välitämme url:n: "count.php", //mitä tietoja välitämme tiedot: (lippu: 2), //tapahtuma vastauksen saatuaan from count.php success : function(data)( html=data; //tulostaa nykyinen latausten määrä $("#countView").html(html); ) )); /*riputa tapahtuma tiedoston latauspainikkeeseen */ var clickevent=false; //napsauta tarkistuslippua //napsauta käsittelijää $("#btnSend").click(function()( if(!clickevent)( $.ajax(( //miten lähetämme tietotyypin: "GET", //johon välitämme url:n: "count.php", //mitä tietoja lähetettävät tiedot: (lippu: 1), //tapahtuma ennen ajax beforeSend lähettämistä: function()( //jos painiketta napsautettiin sitten true clickevent=true; ), //tapahtuma vastauksen saatuaan, //saada tiedot onnistuneessa datassa: function(data)( //toimintojen suorittamisen jälkeen sallimme uudelleen //käsitellä painikkeen klikkaustapahtuma =väärä; html=data; //tulostaa uusi laskuri $("#countView").html(html); //hae linkki data-downloadista //ohjaa latauslinkkiin, lataa tiedosto window.location.href = $("#btnSend").data("lataa"); ) )); ) palauttaa false;//estää tapahtuman käsittelyn napsautuksella )); ));

    Estääkseni toistuvan virheellisen lähetyspainikkeen painamisen lisäsin komentosarjaan clickevent-lipun. Kunnes count.php:n vastaus on palautettu päivitetyillä laskuritiedoilla, painikkeen painaminen on kielletty. Mielestäni koodin toiminta painikkeen painamisen jälkeen on enemmän tai vähemmän selkeä. Lataa-painikkeen painamisen jälkeen tiedot siirretään count.php-tiedostoon, jossa ne käsitellään ja päivitetyt laskuritiedot palautetaan, tapahtuu uudelleenohjaus latauslinkille ja vastaavasti tiedosto ladataan.

    Puretaan nyt komentosarjamme ydin, nimittäin count.php-tiedosto.

    Funktio clearInt ($date)( //lähetyspäivämäärä ei-negatiiviseen numeroon return abs((int)$date); ) if($_SERVER["HTTP_X_REQUESTED_WITH"] == "XMLHttpRequest") ( //tarkista mikä lippu tuli if (clearInt($_GET["lippu"]==1)) ( //avaa tiedosto lukemista varten $f=fopen("mycount.txt","a+"); //estää pääsyn tiedostoon muilta ohjelmilta flock($ f,LOCK_EX); //hae laskurin arvo tiedostosta $count=fread($f,100); //lisää @$count++ laskuri; //korvaa tiedosto ftruncate($f,0); //syötä uusi laskuri, joka lukee fwrite ($f,$count); //sulje tiedosto fclose($f); //palautusarvo echo $count; ) if(clearInt($_GET["lippu"]==2) ) ( $c=fopen(" oma määrä.txt","a+"); parvi($c,LUKKO_EX); $festc=fread($c,100); fclose($c); //palautusarvo kaiku $festc ; ) )

    Tässä mielestäni sama asia on yksinkertainen. Jos lippu 1 tulee, kirjoitamme laskurin uudelleen. Jos lippu 2 tulee, tiedot latausten määrästä yksinkertaisesti palautetaan. Kaikki muu mielestäni on selvää koodin kommenteista.

    Joomla latauslaskuri

    Päätin liittää samanlaisen laskurin yhteen joomla-projektiini. Teoriassa tietysti täytyy kirjoittaa joko erillinen moduuli tai integroida koodi com-sisältökomponentin ohjaimeen, jotta laskuritiedot eivät kirjoiteta tiedostoon, vaan tietokantaan ja jokaiselle artikkelille erikseen. Mutta tällaiselle kehitykselle ei ole aikaa, ja ratkaisin ongelman yksinkertaisemmin. Tarvitsin laskurin yhdelle sivulle. Otin count.php-tiedoston ja siirsin sen joomla-malliin, joka on tällä hetkellä kytkettynä (sivustomallit/oma_mallin juureen). Älä unohda lisätä koodia määritelty("_JEXEC") tai kuolla, count.php:n yläosassa; (tämä on joomlalle). Lisäämme latauspainikkeen luotavalle sivulle, ja js-koodi voidaan myös upottaa sivulle tai yhdistää erilliseksi tiedostoksi. Minulla on esimerkiksi erillinen tiedosto (se sijaitsee mallin js-kansiossa). Itse mallissa, otsikossa, yhteys muodostetaan koodin kautta

    Ja älä unohda saada ajax-pyynnöllä, käytämme URL-osoitetta: "/index.php?tmpl=count" emmekä URL-osoitetta "count.php", . Juuri niin, minä vain kiersin tiedostojen latauslaskurin joomlaan.

    
    Yläosa