05. oktober 2000 - 22:03Der er
27 kommentarer og 1 løsning
Tælle antal download
Hej alle eksperter!!
..Jeg har et lille problem med min side. Jeg vil gerne vise antal downloads af en bestemt fil! ...men, det skal ikke laves via redirect!! Kan dette lade sig gøre??
du skal nok have en variabel som bliver gemt altid, enten i en tekst fil eller i en database... Hent variablen når du åbner siden, tæl den op med et javascript i linkets onClick event, og gem variablen når siden forlades altså åben et vindue i body tagets onunload event hvor du gemme variavblen og lukker siden...
Hvis du lægger alle filer i database hvori der osse er en row som du f.eks. kan kalde count, så koder du bare et asp dokument, som henter filen samtidig med at den lægger 1 til count
Jeg kan jo prøve, men det bliver kun i grove træk det er jo kun 30 point.... Du skal have en .txt fil i samme bib som siden...
-------------------------------------------------- når siden hentes laver du flg...
Dim antaldown set fs = createobject(\"scripting.filesystemobject\") set file = fs.opentextfile(server.mappath(\"antal.txt\")) antaldown = cint(file.readline) file.close Set file = Nothing ---------------------------------------------------
Længere nede har du f.eks. et link til et download : <a href=\"myprogram.exe\" onClick=\"downlds = downlds + 1;document.downantal.value=downlds\"> <input type=\"text\" name=\"downantal\" value= <%= \"\'\" & antaldown & \"\'\" %>>
Og nu til savemydownloads.asp siden der hentes når den forige side forlades...
dim howmany howmany = Request.Querystring(\"antal\") set fs = createobject(\"scripting.filesystemobject\") set file = fs.createtextfile(server.mappath(\"aspcount.dat\"),true) file.writeline(visitorcount) file.close Set fs = nothing
---------------------------------------------- Puhhaaaa det var en masse, du skal nok lige fifle lidt med det, men det er den overordnede ide.... Den er IKKE testet, men burde da virke... Håber det lykkes.. Kasseper
du kan jo selv bestemme hvordan dit antal skal repræcenteres, her sættes antallet ind i et tekst felt, nok lidt klodset, men du kan jo bare skriver det ud med document.write(downlds)
Ja du skal bare enten have en .txt. fil pr. download,eller organisere din .txt fil sådan at hver linie rep. et download, du kan så manipulere data du hiver ud som du vil, Hvordan man gør det kan jeg ikke lige huske, men det er noget med at hive første linie ud, så næste ved at readline igen, og når man skal skrive til filen igen, så er det vist også samme princip..... Hvis det er meget vigtigt og du ikke kan finde det andet steds, så kan jeg godt lige finde det og forklare dig det, MEEEEN 30 point rækker snart ikke længere.....
Okay okay jeg skal nok kigge på det, men først lige et spørgsmål hvordan ser det ud med de rutiner jeg har skrevet, virker det....eller får du en fejl...
Du skal bruge to sider en der indeholder dine downloads den kunne f.eks. hedde downloads.asp og en der ikke skal vises som f.eks. kunne hedde savecount.asp... Dersuden skal du bruge en txt fil i samme bib som de andre filer... den skal hedde antal.txt og være opbygget således :
0X0X0 første 0 rep første download næste 0 rep det 2 download og det 3 nul det sidste download link.... -----------------------------
Så til downloads.asp <% Dim thestring, myarray set fs = createobject(\"scripting.filesystemobject\") set file = fs.opentextfile(server.mappath(\"antal.txt\")) thestring = file.readline file.close Set file = Nothing myarray = Split(thestring, \"X\", -1, 1)
set fs = createobject(\"scripting.filesystemobject\") set file = fs.createtextfile(server.mappath(\"antal.txt\"),true) file.writeline(thestring) file.close Set fs = nothing %>
Det var så det, MEEEEEEN jeg har desvære næsten lige fået ny maskine så jeg har ikke kunne afprøve det, så de fejl du \'måske\' får må du lige rapportere.... Og hvis det endelig er så kan jeg afprøve det på jobbet på mandag.....
...Jeg har lidt problemer med at få det til at virke!! Lige et spørgsmål: Skal downloadene være lige efter hinanden, med deres tilhørende stats ligeefter ??
...men, på den anden side, du får jo flere point for hver dag der går !!! :)
OK nu har jeg da fået det til at virker her hos mig....
jeg bruger flg. kode :
først har du en tekst fil der heder antal.txt den indeholder : 0X0X0X0 det første 0 er første download antal andet nul er andet antal og det nul NUMMER 4 er download NUMMER 3, hvorfor den vil have det sådan ved jeg ikke.....????
første fil hedder : downloads.asp -----------------------------------------------------
<% response.expires = - 1000 Dim thestring, myarray set fs = createobject(\"scripting.filesystemobject\") set file = fs.opentextfile(server.mappath(\"antal.txt\")) thestring = file.readline file.close Set file = Nothing myarray = Split(thestring, \"X\", -1, 1)
set fs = createobject(\"scripting.filesystemobject\") set file = fs.createtextfile(server.mappath(\"antal.txt\"),true) file.writeline(thestring) file.close Set fs = nothing %>
Husk at alle 3 filer skal ligge i samme bibl. Du kan flytte rundt på linksne som det passer dig. Du kan også flytte rundt på de div tags der er altså for link 1 <div id=nr1><div> Jeg har lavet linksne så de referere til denne side, og der skal du så lægge stien til dine filer
Kig koden igennem og lur hvordan du evt. kan have flere links. Dette eksempel var bare lavet med 3 links. Du skal i så fald lave flere antal\'s og howmany\'s men det kan du sikkert se ud af koden...
set fs = createobject(\"scripting.filesystemobject\") set file = fs.createtextfile(server.mappath(\"antal.txt\"),true) file.writeline(thestring) file.close Set fs = nothing %>
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.