Visualizzazione risultati 1 fino 3 di 3

Discussione: Download File in PHP [PHP]

  1. #1
    ysoolder non è connesso Utente giovane
    Data registrazione
    06-04-2013
    Messaggi
    97

    Post Download File in PHP [PHP]

    Salve a tutti e buon pomeriggio. Una domanda: avendo il seguente pulsante

    Codice PHP:
    <form method="post"><input class="scarica" id="scarica_FILE" type='submit' name="_scarica" value='Scarica'/></form>
    e il File prova.txt all'interno della Directory /home/utenti/download come faccio a scaricarlo premendo il pulsante sopra elencato? Che codice devo inserire? Grazie a tutti!

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    L'approccio non è corretto: i form sono per l'invio dei dati, non per il download.

    Una possibilità è utilizzare una pagina PHP per "forzare" il download di un file:
    Codice PHP:
    $file_url = "http://www.myremoteserver.com/file.exe";
    header("Content-Type: application/octet-stream");
    header("Content-Transfer-Encoding: Binary");
    header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
    readfile($file_url);
    Fonti: How to force file download with PHP e readfile.

  3. #3
    ysoolder non è connesso Utente giovane
    Data registrazione
    06-04-2013
    Messaggi
    97

    Predefinito

    Ah, ecco qual'era il problema. Io avevo provato con questo codice:

    Codice PHP:
    $directory = "./home/downloads/prova/".$my_email."/".$file."";
    $download_name = basename($directory);

    if (
    file_exists($directory)) {

    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$download_name);
    header('X-Sendfile: '.$directory);
    exit;

    } else {

    echo
    "C'è stato un errore con il download del tuo file...";

    }
    ma ovviamente, non leggendo il file con readfile(), mi scaricava solo un "qualcosa" vuota con l'estenzione adatta.
    Ad esempio, se uplodavo il file di testo file.txt con dentro la parola "Ciao a tutti", il mio codice scaricava solo il file file.txt, ma non il suo contenuto. Penso che, per vedere il contenuto al suo interno, sia stato mooolto ultile anche

    Codice PHP:
    header("Content-Transfer-Encoding: Binary");
    Adesso funziona tutto, ti ringrazio :)

Regole di scrittura

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