• User

    PHP creazione e download file di testo

    Salve, vorrei fare una pagina php che mi crea dinamicamente un file di testo e lo fa scaricare all'utente, come poso fare?

    Ovviamente però il file non puo rimanermi per sempre sul server... qualche consiglio?

    So che in php è possibile creare dei file temporanei ma non so come poterli far scaricare all'utente e poi eliminarli a download conlcuso...


  • User

    è semplice...
    Bisogna creare il file con il seguente codice:

    [PHP]<?
    $file=fopen("tuo_file.txt","a+");
    fwrite($file, $tua_stringa);
    ?> [/PHP]

    dopodichè bisogna scaricare il file:

    [PHP]<?php
    <?
    $tua_stringa = "khalhell";
    $file=fopen("tuo_file.txt","a+");
    fwrite($file, $tua_stringa);

    $file2 = "tuo_file.txt";
    $directory = "download/";
    $percorso = $directory.$file2;
    $dimensione_file=filesize($percorso);

    header("Content-Type: application; name=".$file2);
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$dimensione_file);
    header("Content-Disposition: inline; filename=".$file2);
    header("Expires: 0");
    header("Cache-Control: no-cache, must-revalidate");
    header("Cache-Control: private");
    header("Pragma: public");
    readfile($percorso);

    ?>[/PHP]

    In questo modo scrivi kalhell nel file txt e poi lo scarica...
    se vuoi puoi assegnare un nome random al file..
    prova e facci sapere...

    Ciao


  • User

    @SimyXT said:

    è semplice...
    Bisogna creare il file con il seguente codice:

    Funziona perfettamente nel tuo modo comunque alla fine ho risolto cosi:

    
    $file_name = $strumento.".kml";
    
    header('Content-type: text/plain');
    header('Content-Disposition: attachment; filename='.$file_name);
    
    

    Io devo creare un file kml per Google earth con delle coordinate, e cosi mi crea il file da scaricare (probabilmente in qualche cartella temporanea del client) e funziona alla perfezione...

    Grazie comunque!


  • User Newbie

    Ma se io volessi anzichè forzare il download mettere un button che me lo faccia fare? Sto realizzando un sito per la scuola e volevo implementare, una volta effettuata la registrazione, un bottone che permettesse di slavare i dati che l'utente ha inserito.