Visualizzazione risultati 1 fino 2 di 2

Discussione: script in php, contatore in txt

  1. #1
    Guest

    Predefinito script in php, contatore in txt

    Ho scaricato un contatore di download in php che non necessita di database . Come contatore usa un file di testo dove c`e` scritto solo il numero 1. Se nel file indice php, sostituisco il file di prova "prova.php" con un mio file, il contatore non funziona piu`. Resta fermo sull`uno. Ho fatto diversi tentativi, ma non sono riuscito a risolvere. Potreste aiutarmi? Vi copio gli script:

    index.php
    Codice PHP:
    <html>
    <head>
    <title>Prova download di file</title>
    </head>
    <body>
    <div align="center">
    <p>&nbsp;</p>
    <a href="getfile.php?<?php echo "name=NEWS"; ?>">Scarica Prova.zip</a> (download <?php @include("count/prova.txt"); ?>, size <?php
    $dim
    = @filesize ("NEWS.doc") / 1024;
    $dim = round($dim);
    echo
    "$dim KB";
    ?>)
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <b><a href="http://www.spacemarc.it" target="_blank">Tutorial scaricato da Spacemarc.it</a></b>
    </div>
    </body>
    </html>
    getfile.php
    Codice PHP:
    <?php
    //estensione dei file da scaricare
    $ext = ".doc";

    //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");
    }
    ?>
    Grazie.
    Francesco

  2. #2
    Guest

    Predefinito

    Chiedo scusa. Il file di prova e` prova.zip.

Regole di scrittura

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