Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Download di file

  1. #1

    Download di file

    Buongiorno, posto questo problema nella sezione "lato server", ma a dire il vero non so se la risposta alla mia domanda dovrà essere lato client o lato server, pertanto se i moderatori lo riterranno opportuno questa sezione andrà spostata.

    Descrivo quello che mi servirebbe ottenere:

    Io ho dei file salvati in un Database MySQL in campi di tipo BLOB, e una sezione di un sito(quella che prendiamo in considerazione) in PHP. Quando un utente svolgerà tutta una serie di operazioni si ritroverà a dover scaricare un file.. a rigor di logica per far scaricare un file si svolge un semplice algoritmo di questo tipo:

    1-Si legge il contenuto del file da Database
    2-Si crea un file temporaneo (lato server)
    3-Si ridireziona la pagina del browser all' URL riferito al file temporaneo cosicchè l'utente lo possa scaricare.

    Fin qui credo tutti daccordo, ma.. se io dovessi svolgere delle operazioni nel momento in cui il file viene scaricato del tutto dall'utente come posso fare? (ad esempio quello che vorrei fare è aprire una nuova pagina PHP che elimini il file temporaneo di prima).

    Se questa non fosse la strada migliore da seguire, quali consigli potreste darmi per far si che io possa eliminare i file temporanei che si andrebbero a creare?

  2. #2
    googlando un po penso di aver trovato una parte della soluzione.. qualsiasi conferma è ben gradita.

    Invece che fare un algoritmo come quello scritto prima basta scrivere un pezzo di codice tipo questo:

    codice:
     
    <?php
    header("Content-type: Application/octet-stream");
    header("Content-Disposition: attachment; filename=$nome_file");
    header("Content-Description: Download PHP");
    header("Content-Length: $dimensioni_file");
    readfile($nome_file);
    ?>
    In questo modo dalla pagina php partirà una richiesta di download sul browser del client.

    Resta solo una domanda: se io metto delle istruzioni successive alla readfile, queste verranno eseguite quando il download è iniziato o quando è terminato? Ahimè penso sia piu probabile la prima opzione.... in tal caso come posso fare a far si di eseguirle quando il download è terminato?

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.