Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Contare scaricamenti file

    Salve. Qualcosa non va nell'utilizzo di un codice per contare gli scaricamenti dei file, nel senso che usato in un sito con i file da scaricare nella root del dominio va bene, ma quando i file si trovano in un'apposita cartella, lo scaricamento avviene ma non è conteggiato.
    Questo è il codice nella pagina dei download.
    Codice PHP:
    <? @include("count/nomefile.txt"); ?>
    Il getfile.php, invece:
    Codice PHP:
    //estensione dei file da scaricare
    $ext ".zip";
    //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($file100);
            
    $countplus = ($count 1);
            @
    fclose($file);
            
    $fileb = @fopen("$counterdir/$_GET[name].txt","w");
            @
    fwrite($fileb$countplus100);
            @
    fclose($fileb);
        } 
    Il nomefile.txt è presente nella cartella count dello spazio remoto.
    Il percorso dei file da scaricare è incluso nel parametro name che passo in query string.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2001
    residenza
    NG Lab Cecchina, Roma
    Messaggi
    143
    Codice PHP:
    //estensione dei file da scaricare
    $ext ".zip";
    //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($file100);        $countplus = ($count 1);
            @
    fclose($file);
            
    $fileb = @fopen($counterdir."/".$_GET[name].".txt","w");
            @
    fwrite($fileb$countplus100);
            @
    fclose($fileb);
        }
     } 
    Prova così
    Ultima modifica di ffw; 01-05-2020 a 19:46
    Ottima scelta

  3. #3
    No, avevo già provato a concatenare col punto, ma oltre a non contare lo scaricamento, non lo scarica il file.
    Ho verificato il codice nell'altro sito, dove i file sono nella root: scaricamento e conteggio corretto.

    Riesco a fare il read ma non il write... C'è qualcosa di sbagliato nel passare il path del file di testo.

  4. #4
    Risolto. Innanzitutto nella pagina dei download ho corretto così
    Codice PHP:
    <a name="nomefile" href="getfile.php?<? echo "path=extra&name=nomefile"?>">Scarica</a>
    In questo modo, in getfile.php ho potuto combinare il nome del file sia col path "extra" che con la cartella dei contatori "count":
    Codice PHP:
    $pathname $_GET['path']."/";
    $filename $_GET['name'];
    $pathfile $pathname.$filename
    Il resto credo delle correzioni sia intuibile...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.