Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [PHP] download file

  1. #1

    [PHP] download file

    Ho la mia pagina index.php che di volta in volta a seconda della scelta che faccio nel menu di navigazione mi include al suo interno il file necessario. Ho creato una pagina download (che quindi viene inclusa dentro ad index se la scelgo dal menu di navigazione), che crea leggendo da un database mysql una tabella con tutti i file messi a disposizione per lo scaricamento.
    Ora quello che voglio fare è una cosa di questo tipo:
    quando io cliko sul link del file da scaricare vado ad una nuova pagina, supponiamo si chiami getfile (sempre che verrà inclusa dentro ad index), che provvede ad avviare automaticamente il download, ed eventualmente presenta un link della serie "se il download non inizia da sè clika qui", e una volta avviato lo scaricamento fa un update sul database e aggiorna il numero di scaricamenti per quel file. Quello che ho provato a fare è aggiungere queste righe relative al file da scaricare
    Codice PHP:
    header ("Content-type: application/octect-stream");
    header ("Content-Disposition: attachment; filename=$file");
    header ("Content-Length: ".filesize("downloads/$file")); 
    nel caso sia richiesto un download, ma così facendo mi dice di scaricare il file e basta, la pagina visualizzata nel browser non cambia e quindi non posso far questo
    ed eventualmente presenta un link della serie "se il download non inizia da sè clika qui", e una volta avviato lo scaricamento fa un update sul database e aggiorna il numero di scaricamenti per quel file.
    ma allora a sto punto mi conviene mettere un link direttamente al file zip, ma non è quello che voglio fare!
    Come risolvo??

    PS:SCUSATE LA SPIEGAZIONE INCASINATA!!
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  2. #2
    Fai così:
    Nell'elenco download fai in modo che il link scarica mandi alla pagina (esempio) gets.php?id=1 (logicamente dopo l'uguale il numerino è variabile dall'id del downloads)

    In seguito, nella pagina gets.php inserirari tra il codice html <head> e </head> questo script:
    codice:
    <? 
    #Fingo che la connessione al db sia già avvenuta!
    $id=$_GET['id']; 
    MySql= " SELECT nomefiledadownloadare FROM tabelladownload WHERE id = '".$id."'";  
    $query = mysql_query ($MySql) or die ( "Non riesco ad eseguire la richiesta $MySql"); 
    while ($valori = mysql_fetch_array ($query)){ 
    $link = $valori["nomefiledadownloadare"];
    }
    ?>
    <META HTTP-EQUIV="Refresh"
          CONTENT="5; URL=<?= $link ?>">
    Fatto ciò.. più in basso, tra i tag html <body> e </body> puoi inserire questo scriptino:

    codice:
    Se il download non si è avviato automaticamente clicca < href="<?= $link ?>">qui</a>
    Questo codice però linka al file .zip.
    Nemus Loren
    www.freephp.tk

  3. #3
    Dimenticavo,
    il codice per aggiungere 1 al totale dei download fatti è questo(Fingo che la tabella sia tabelladownload e la colonna contatore):

    Codice PHP:
    $MySqlQuery "SELECT contatore FROM tabelladownload WHERE id ='".$id."'"
    $querySql mysql_query ($MySqlQuery) or die ( "Non riesco ad eseguire la richiesta $MySqlquery"); 
    while (
    $valori mysql_fetch_array ($querySql)){ 
    $contatore $valori "contatore"]; 
    }
    $contatore++;
    $MySql "UPDATE tabelladownload SET contatore = '$contatore' WHERE id = '$id'";
        
    $Result mysql_query($MySql); 
    Questo codice va inserito dopo
    Codice PHP:
    $id=$_GET['id']; 
    Nemus Loren
    www.freephp.tk

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.