14. juni 2006 - 05:40Der er
3 kommentarer og 1 løsning
Antal download
Heysan!
Jeg ved godt spørgsmålet har vært oppe tidligere men jeg fik aldrig løst det ordenlig, så jeg prøver igen :-)
Jeg vil gerne have et system som tæller antal download det er bleven hentet... Og vil blive meget glad hvis nogen vil lave guide til hvordan det skal sættes sammen :-)
Hver gang man trykker på et downloadlink, skal den tælle én op, er det det du mener? I så fald:
<a href="dl.php?ID=1">Download</a>
dl.php: if(is_numeric($_GET['ID'])) { $data = mysql_query("HENT DATA OM DOWNLOAD LINK"); # TJEK OM DET FINDES if(mysql_num_rows($data) > 0) { $row = mysql_fetch_assoc($data); header("Content-type: filtype"); header("Content-Disposition: attachment; filename=".$fil); readfile($fil); } }
Synes godt om
Slettet bruger
14. juni 2006 - 09:58#2
Måske der også skulle selve counteren ind :-) Jeg udvider lige dit eksempel l0vgaard.
1. For at lave det, skal du have informationer omkring dine filer i en database, som du formentlig allerede har. I den tabel, tilføjer du et ekstra felt kaldet f.eks. hits.
2. På siden hvor du laver linket som brugeren trykker på, kan du så også vise indholdet af hits, som vil være det antal gange filen er downloaded før.
3. Som l0vgaard siger, så skal du istedet for at linke direkte til filen, lave et link til en anden fil, f.eks. dl.php. Det id du så ser i ovenstående eksempel, vil være idét på selve filen.
4. Det scriptet gør, er at det ser om den get variabel er et tal, dernæst henter det informationer fra databasen omkring den enkelte fil. Hvis idét findes, kommer der en "gem som" boks frem. Dog mangler der lige en væsentlig linje, da den ikke opdaterer antal downloads. Så scriptet skal lige have tilføjet en ekstra linje som nedenfor, hvis vi antager at feltet hedder hits.
if(is_numeric($_GET['ID'])) { $data = mysql_query("HENT DATA OM DOWNLOAD LINK"); # TJEK OM DET FINDES if(mysql_num_rows($data) > 0) { $row = mysql_fetch_assoc($data); mysql_query("UPDATE tabel SET hits = hits + 1 WHERE id = '$row[id]'"); header("Content-type: filtype"); header("Content-Disposition: attachment; filename=".$fil); readfile($fil); } }
Cypermann >> 1. For at lave det, skal du have informationer omkring dine filer i en database, som du formentlig allerede har. I den tabel, tilføjer du et ekstra felt kaldet f.eks. hits.
Hvis du ikke ved noget om MySQL er dne letteste løsning nok at lave en .log-fil, der hedder det samme som den fil, man downloader, og så gemme antal hits i den.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.