Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Creare script per il download dei file con PHP

    Salve a tutti, ultimamente mi sto avvicinando a PHP, HTML e CSS, ma non ho ancora chiarito una cosa.

    Ovvero, come posso creare uno script per il download dei file con PHP?
    Vorrei ottenere una cosa del tipo download.php?id=id del download generato casualmente oppure download.php?id=id del download che scelgo io

    E' possibile?

    Ho cercato un pò su Google e ho trovato uno script buono, però non mi piace la "forma" che assume: dl.php?filename=nome file
    La cosa che non mi piace è proprio il nome del file, io vorrei un ID :/
    Per il resto, ho le idee un pò confuse e quel che ho trovato non mi è stato molto utile...

    Spero che potrete darmi una mano, di essermi spiegato bene e di non aver sbagliato sezione.

    Ciao!

  2. #2
    Per poter scaricare un file mediante un id, dovresti memorizzare l'id con il nome del file in una tabella di un database così quando devi eseguire il download, puoi eseguire una query e trovare il nome associato a quell'id.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Quindi mi basterebbe modificare il comportamento dello script ed eseguire la giusta query?
    Questo è lo script (l'ho modificato in qualche parte):
    Codice PHP:
    <?php
        
        $download_path 
    $_SERVER['DOCUMENT_ROOT']."/download" ;
        
        
    $filename $_GET['filename'];
        
        
    // Detect missing filename
        
    if(!$filename) die("I'm sorry, you must specify a file name to download.");
        
        
    // Make sure we can't download files above the current directory location.
        
    if(eregi("\.\."$filename)) die("I'm sorry, you may not download that file.");
        
    $file str_replace(".."""$filename);
        
        
    // Make sure we can't download .ht control files.
        
    if(eregi("\.ht.+"$filename)) die("I'm sorry, you may not download that file.");
        
        
    // Combine the download path and the filename to create the full path to the file.
        
    $file "$download_path/$file";
        
        
    // Test to ensure that the file exists.
        
    if(!file_exists($file)){ die("Il file non esiste.") ; }
        
        
    // Extract the type of file which will be sent to the browser as a header
        
    $type filetype($file);
        
        
    // Get a date and timestamp
        
    $today date("F j, Y, g:i a");
        
    $time time();

        
    // Send file headers
        
    header("Content-type: $type");
        
    header("Content-Disposition: attachment;filename=$filename");
        
    header('Pragma: no-cache');
        
    header('Expires: 0');

        
    // Send the file contents.
        
    readfile($file);
        

    ?>
    Dovrei modificare la variabile $_GET['filename'] e renderla $_GET['id'], e poi? Quale query potrei eseguire? E, riguardo il fatto di "leggere" il contenuto della tabella, dovrei fare un if(se la query trova l'ID inserito nell'URL tramite $_GET){ effettuo il download di un determinato file ; } ?

  4. #4
    La query la devi implementare tu in base alla tabella che vai a realizzare.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    Originariamente inviato da codencode
    La query la devi implementare tu in base alla tabella che vai a realizzare.
    E, dopo la query, come procedo?

  6. #6
    Basta valorizzare la variabile $filename con il nome presente nella tabella
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  7. #7
    Originariamente inviato da codencode
    Basta valorizzare la variabile $filename con il nome presente nella tabella
    Non essendo esperto, sapresti dirmi come?
    Scusa le tante domande ma voglio imparare a farlo

  8. #8
    Be allora devi partire dalle basi, non puoi pretendere di saper sviluppare un sistema di download se non sai fare nemmeno una query. Ti consiglio di partire con leggere le guide di php presenti sul sito.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  9. #9
    Ho provato proprio ora a connettermi a PostgreSQL con PHP seguendo la guida di HTML.it e non funziona. La funzione pg_connect non esiste

  10. #10
    Non è possibile farlo senza usare un database?

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.