Visualizzazione risultati 1 fino 4 di 4

Discussione: modificare uno script

  1. #1
    Guest

    Predefinito modificare uno script

    ciao a tutti spero potete aiutarmi
    nel mio sito esattamente qui http://sandy.altervista.org/template/arancioni.php
    ho inserito uno script x il conteggio dei download, questo script non si appoggia su database MySQL si limita a modificare i txt contenuti dentro ad una cartella, ora, dato che volevo inserire pure un tasto di votazione, ma non sono quasi per nulla pratica di php, il mio intento era quello di modificare lo script già esistente ossia http://sandy.altervista.org/getfile.php e riadattarlo al tasto vota. solo che lo script esistente si appoggia su un file .rar che sarebbe quello che si va a scaricare, ma non so in caso di una semplice votazione dove far appoggiare il tutto ...
    spero che ci abbiate capito qualcosa e potete aiutarmi

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Spiegati meglio, vuoi che il contatore aumenti quando premi il tasto vota invece di quando scarichi il file?

    Se e cosi perché non posti il codice da modificare?

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    si esatto ma nn so cosa devo modificare
    il codice inserito nella pagina php è
    Codice PHP:
    <td><br /><br /><br /><br /><a href="getfile.php?<?php echo "name=3dcat"; ?>"><div class="Block-body">
    <div class="BlockHeader">
    <div class="BlockHeader-text">
    Scarica
    </div>
    <div class="l"></div>
    <div class="r"><div></div></div>
    </div></a>(download <?php @include("count/3dcat.txt"); ?>, size <?php
    $dim
    = @filesize ("3dcat.rar") / 1024;
    $dim = round($dim);
    echo
    "$dim KB";
    ?>)</td>
    ma oltre a quello va modificato tutto il file getfile.php ossia:
    Codice PHP:
    <?php
    //estensione dei file da scaricare
    $ext = ".rar";

    //nome directory con i file di testo, compreso lo slash / finale
    $counterdir = "count/";

    //controllo che nell'url ci sia il nome del file da scaricare,
    if(isset($_GET['name']) && trim($_GET['name'])) {

    //se il file richiesto esiste, avviene il download
    if (file_exists("$_GET[name]$ext")) {

    header("Location: $_GET[name]$ext");

    //apro il file .txt relativo al download richiesto e lo incremento di 1
    $file = @fopen("$counterdir/$_GET[name].txt","r");
    $count = @fread($file, 100);
    $countplus = ($count + 1);
    @
    fclose($file);
    $fileb = @fopen("$counterdir/$_GET[name].txt","w");
    @
    fwrite($fileb, $countplus, 100);
    @
    fclose($fileb);

    //altrimenti, se il file richiesto non esiste, parte l'email di avviso al webmaster e stampo un messaggio di errore
    } else {

    $_GET['name'] = str_replace(">", "&gt;", $_GET['name']);
    $_GET['name'] = str_replace("<", "&lt;", $_GET['name']);

    $today = date("j F Y G:i");
    $user_ip = "$_SERVER[REMOTE_ADDR]";
    $to = "tuaemail@tuosito.xx";
    $subject = "Download non trovato";

    $body = "$user_ip il giorno $today non ha trovato il file $_GET[name]$ext";

    @
    mail("$to","$subject","$body");

    echo
    "Il file $_GET[name]$ext non &egrave; disponibile per il download.<br>
    Riprova pi&ugrave; tardi."
    ;

    }

    //altrimenti, se il nome del file non è passato via get, redirect alla pagina principale
    } else {
    header("Location: index.php");
    }
    ?>
    ed io nn so cosa modificare in tutto questo :(
    ho provato a sostituire i riferimenti alla cartella count mettendo la cartella voti ma nulla...
    non funziona ed io nn so cosa fare
    Ultima modifica di andreafallico : 12-05-2010 alle ore 12.21.45

  4. #4
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,769

    Predefinito

    Per prima cosa dovresti modificare il fire getfile.php in questo modo:
    Codice PHP:
    <?php
    //estensione dei file da scaricare
    $ext = ".rar";

    //nome directory con i file di testo, compreso lo slash / finale
    $counterdir = "count/";

    //controllo che nell'url ci sia il nome del file da scaricare,
    if(isset($_GET['name']) && trim($_GET['name'])) {

    //se il file richiesto esiste, avviene il download
    if (file_exists("$_GET[name]$ext")) {

    header("Location: $_GET[name]$ext");

    //altrimenti, se il file richiesto non esiste, parte l'email di avviso al webmaster e stampo un messaggio di errore
    } else {

    $_GET['name'] = str_replace(">", "&gt;", $_GET['name']);
    $_GET['name'] = str_replace("<", "&lt;", $_GET['name']);

    $today = date("j F Y G:i");
    $user_ip = "$_SERVER[REMOTE_ADDR]";
    $to = "tuaemail@tuosito.xx";
    $subject = "Download non trovato";

    $body = "$user_ip il giorno $today non ha trovato il file $_GET[name]$ext";

    @
    mail("$to","$subject","$body");

    echo
    "Il file $_GET[name]$ext non &egrave; disponibile per il download.<br>
    Riprova pi&ugrave; tardi."
    ;

    }

    //altrimenti, se il nome del file non è passato via get, redirect alla pagina principale
    } else {
    header("Location: index.php");
    }
    ?>
    Non so se cosi funziona, ma in pratica ho tolto solamente la parte di codice che contava quante volte quel file era stato scaricato.

    Oltre a questo nel file principale io aggiungerei un modulo con il pulsante vota:
    Codice PHP:
    <td><br /><br /><br /><br /><a href="getfile.php?<?php echo "name=3dcat"; ?>"><div class="Block-body">
    <div class="BlockHeader">
    <div class="BlockHeader-text">
    Scarica <form action="vota.php" method="POST"><button type="submit">Vota</button></form>
    </div>
    <div class="l"></div>
    <div class="r"><div></div></div>
    </div></a>(download <?php @include("count/3dcat.txt"); ?>, size <?php
    $dim
    = @filesize ("3dcat.rar") / 1024;
    $dim = round($dim);
    echo
    "$dim KB";
    ?>)</td>
    E creare nella stessa directory il file vota.php con la parte di codice tolta allo script getfile.php e se non vuoi far si che l'utente rimanga in quella pagina potresti aggiungere in fondo un link che torna alla pagina precedente

    Se desideri potresti migliorare lo script negando il vota all'utenza che ha già votato.
    Ultima modifica di sevenjeak : 12-05-2010 alle ore 10.43.27

    Sevenjeak
    Software developer and much more

Regole di scrittura

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