Visualizzazione risultati 1 fino 12 di 12

Discussione: come creare un semplice conta download

  1. #1
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito come creare un semplice conta download

    Salve, dopo aver provato inutilmente a modificare un script trovato in rete per contare i download e vari siti che offrono il servizio (non ci ho capito nulla nemmeno li) vorrei chiedere se qualcuno sarebbe disponibile ad aiutarmi a crearne uno in php

  2. #2
    Guest

    Predefinito

    Ho trovato e provato uno script => http://www.spacemarc.it/tutorialphp/tutorial1.php (questo è il tutorial)

    Per scaricare l'intera cartella contenente lo script, vai in questa pagina e clicca su "Contatore di click". Scaricherai un file .zip

    Decomprimi il file .zip e trovi:
    • getfile.php (questo è il file dove è contenuto il codice vero e proprio che ti permette poi di visualizzare quanti download sono stati effettuati + il peso del file scaricato in Kb)
    • /count (è la cartella in cui è contenuto un file di testo "prova.txt" dove vengono salvati i numeri del download)
    • index.php (è la pagina in cui linki il file da scaricare e dove chiunque può vedere quanti download sono stati fatti)
    • prova.zip (è il file di prova che puoi scaricare andando su index.php)


    Quindi il getfile.php contiene il codice utile per la visualizzazione del numero di download e devi modificare questo pezzetto:
    Codice:
    $ext = ".zip"; // estensione dei file da scaricare
    $counterdir = "count/"; //nome della cartella contenente i file di testo
    Puoi decidere l'estensione dei file che farai scaricare, al momento impostato su .zip

    Nell'index.php trovi il codice per linkare un testo:
    Codice:
    <a href="getfile.php?<?php echo "name=prova"; ?>">Scarica Prova.zip</a>
    getfile.php è il file di cui ti ho parlato prima, mentre name=prova richiama il file da scaricare, quindi al posto di "prova" inserisci il nome del file da scaricare.
    Per vedere il numero di download ed il peso, il codice completo (che comunque già trovi nel file index.php) è:
    Codice:
    <a href="getfile.php?<?php echo "name=prova"; ?>">Scarica Prova.zip</a> (download <?php @include("count/prova.txt"); ?>, size <?php  
    $dim = @filesize ("prova.zip") / 1024;
    $dim = round($dim);
    echo "$dim KB";
    ?>)

    Tutte le spiegazioni si trovano nel tutorial (vedi link inserito sopra), lo script è perfettamente funzionante.
    Ultima modifica di musicanapoli : 06-02-2010 alle ore 02.20.42

  3. #3
    Guest

    Predefinito

    Beh un metodo molto semplice che mi viene in mente è utilizzando un file php in cui, al momento del download, prelevi il valore di una variabile e lo incrementi per poi sovrascrivere il file con il nuovo valore. Certo, avresti il problema degli accessi concorrenti... forse l'impiego di un database ti aiuterebbe di più, dandoti un software in grado di gestire tutti i file della tua sezione download. Uno spunto per l'analisi potrebbe essere il seguente:

    Parte DB
    Una tabella contenente le informazioni sul file, quindi:
    - ID (per garantire i criteri di univocità)
    - nomefile (nome del file interessato, utile per costruire il percorso completo da fornire nel link di download)
    - hash MD5 (tra poco capirai a cosa ti è utile)
    - cont (contatore, memorizza i download effettuati)

    Parte PHP
    - Ogni volta che un file viene scaricato, effettua questi controlli: se esiste un file nel database che la lo stesso Hash allora prelevi il record corrispondente dalla tabella ed altro non fai che incrementare il valore di "cont". Quindi, aggiorna la tabella con una query, inserendo il nuovo valore a "cont".

    Se il file non esiste, puoi creare sul momento un nuovo record settando il contatore a 1. Programmando lo script in questo modo, dovrai semplicemente inviare i file sul tuo spazio e sarà lui che, all'aggiunta del nuovo file e del primo download, provvederà per te a memorizzarsi un record con le nuove informazioni.

    Spero che questi spunti ti siano utili ;) Mi spiace non potertelo programmare di persona, ma per lavoro sto pieno.

    Una cosa che mi sono dimenticato, ed è molto importante: gestisci gli aggiornamenti concorrenti con un bel LOCK READ alla tabella di cui abbiamo parlato sopra. Ricordati di rilasciare il lock al termine dell'aggiornamento
    Ultima modifica di mksoftware : 06-02-2010 alle ore 14.58.56

  4. #4
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    in effetti stavo già utilizzando quello script solo che da me non funziona,
    Codice:
    <a href="index.php?pagina=contaclick/download" class="blu">Download</a>
    così dalla homepag collego il file download.php(che successivamente richiamerà il getfile) e fin quì funziona tutto

    questo è il file download.php:
    <title>Download</title>
    <div align="center">
    <p>
    <a href="getfile.php?<?php echo "name=prova"; ?>">Scarica Prova.zip</a>
    (download <?php @include("count/prova.txt"); ?>, size <?php
    $dim = @filesize ("prova.zip") / 1024;
    $dim = round($dim);
    echo "$dim KB";
    ?>)
    </p>
    <p>
    <a href="getfile.php?<?php echo "name=fischietti"; ?>">Scarica mini guida per creare un fischietto.zip</a>
    (download <?php @include("count/fischietti.txt"); ?>, size <?php
    $dim = @filesize ("fischietti.zip") / 1024;
    $dim = round($dim);
    echo "$dim KB";
    ?>)
    </p>
    </div>
    ma da quì in poi non mi funziona più, non riescea trovare il file eppure l'ho caricato nella cartella indicata nelle istruzioni, ci dev'essere un errore nel percorso del file ma non riesco a correggerlo, ho fatto diversi tentativi ma non cambia nulla...... mi sapreste dare una mano?

  5. #5
    Guest

    Predefinito

    Maddai, è facilissimo, usa questo script online [Cliccami]. Basta registrarsi, attivare il servizio e inserire il link da conteggiare (nel tuo caso, quello del download).
    Poi ti fornirà un redirect-link al tuo link e un codice html.
    Il redirect-link lo dovrai mettere su <a href=[redirect-link]>Scarica File</a>.
    Il codice HTML, personalizzabile, lo inserisci dove vuoi. Ed automaticamente questo servizio ti stampa a video il numero di download.

  6. #6
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Ho visto sul tuo sito, ma il file getfile.php nemmeno esiste.

  7. #7
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    Citazione Originalmente inviato da mycarlo Visualizza messaggio
    Ho visto sul tuo sito, ma il file getfile.php nemmeno esiste.
    come fai a dire che non esite? eppure ti assicuro che l'ho caricato nello spazio web, inoltre credo che se non esistesse nella pagina dei download non dovrebbe apparire il peso de il numero dei file scaricati (il numero 16 l'ho scritto io nel file .txt, in realtà non è avvenuto nessun download) quindi credo che ci sia di sbagliato il link al file? come dovrebbe essere scritto?

    grazie habbic, mi piacerebbe poter sfruttare uno script interno al mio sito, ma se non dovessi risolvere opterò per il tuo consiglio.
    Ultima modifica di EmoArt : 12-02-2010 alle ore 21.44.01

  8. #8
    Guest

    Predefinito

    Forse sbagli con i link.
    Ricapitolando...
    Tu scarichi la cartella /contaclick dove all'interno trovi:
    -getfile.php
    -index.php
    -prova.zip
    -/count/
    -/count/prova.txt

    Il tuo file download.php equivale al file index.php della cartella che hai scaricato.
    Questo file dove lo inserisci? Sotto quale cartella?

    Hai postato questo codice:
    Codice PHP:
    <p>
    <a href="getfile.php?<?php echo "name=fischietti"; ?>">Scarica mini guida per creare un fischietto.zip</a>
    (download <?php @include("count/fischietti.txt"); ?>, size <?php
    $dim
    = @filesize ("fischietti.zip") / 1024;
    $dim = round($dim);
    echo
    "$dim KB";
    ?>)
    </p>
    Ma andando sul tuo sito, non esiste il percorso count/fischietti.txt

    Quindi metti qui tutti i percorsi di tutti i file relativi allo script.

  9. #9
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Citazione Originalmente inviato da EmoArt Visualizza messaggio
    come fai a dire che non esite? eppure ti assicuro che l'ho caricato nello spazio web...
    Semplicemente aprendoo questa pagina: http://emoart.altervista.org/getfile.php.

    Come vedi da errore 404.

  10. #10
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    Citazione Originalmente inviato da musicanapoli Visualizza messaggio
    Forse sbagli con i link.

    Quindi metti qui tutti i percorsi di tutti i file relativi allo script.
    Cartella principale sito: index.php>(cartella)contaclick>(al suo interno)download.php - getfile.php - prova.zip - cartella count>prova.txt

    My carlo verifico subito che ci siano tutti i file richiesti..
    ci sono tutti i file.
    Ci sono riuscito!! il problema era nel file download.php che come mi avete fatto notare non riusciva a richiamare getfile.php quindi un problema di link come aveva capito subito bellanapoli, dopo un paio di prove ho risolto così:
    Codice:
    <title>Download</title>
    <p>
    <a href=" contaclick /getfile.php? <?php echo "name=prova"; ?>">Scarica Prova.zip</a>
     (download <?php @include("count/prova.txt"); ?>, size <?php  
    $dim = @filesize ("prova.zip") / 1024;
    $dim = round($dim);
    echo "$dim KB";
    ?>)
    </p>
    Ultima modifica di EmoArt : 12-02-2010 alle ore 23.37.12 Motivo: verifica file

  11. #11
    Guest

    Predefinito

    Perfetto.
    Ho provato a fare un download dalla pagina che hai linkato prima, e scarica correttamente ;)
    Ultima modifica di musicanapoli : 13-02-2010 alle ore 18.32.54 Motivo: Ho dimenticato un verbo :p

  12. #12
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    grazie del vostro aiuto!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •