Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [php] - scrivere e download file txt

    Ciao ho ragazzi, come risolvo questo problema?

    Compilo una form, questa form invia i dati ad un file che si chiama "elabora.php"

    Il file elabora.php dovrebbe scrivere le variabili passate in file .txt ...

    il contenuto del file txt dovrebbe essere tipo:

    varibile1=valore_passato_per_la_variabile_1
    varibile2=valore_passato_per_la_variabile_2
    varibile3=valore_passato_per_la_variabile_3

    ecc...

    finito di scrivere il file txt, dovrebbe automaticamente partire il download del file creato.

    Che codice devo usare?

    Grazie a tutti!
    aquatimer2000

  2. #2
    La domanda è parecchio complessa e di conseguenza la risposta sarebbe parecchio lunga quindi ti spiego i concetti e poi farai da te.

    Per prima cosa le variabili le recuperi dal form tramite $_GET o $_POST poi le scrivi dentro un file di testo che crei appositamente usando le funzioni del file system fopen (per crearlo o aprirlo) e fwrite per scriverci dentro. Una volta fatto questo Usi l'header Content-Disposition e mandi in output il file scritto con la funzione readfile. So che così può sembrare incasinato ma se scomponi i problemi e controlli sulla documentazione un pezzo alla volta vedrai che sarà chiarissimo. Attento all'uso di questo header per alcune incompatibilità tra i vari browser devi aver delle accortezze nella scrittura del codice (quando cerchi informazioni su questa cosa troverai di sicuro spiegato come fare).

  3. #3
    seguito il consiglio:
    ho letto in giro ed ho risolto (in parte)... ecco come:

    Codice PHP:
    <?php
    // supponiamo che queste siano le variabili recuperate dal form

    $var1="ciao";
    $var2="mondo";

    $testo="$var1 \n $var2";

    header('Content-Type: application/txt');
    header("Content-Disposition: attachment; filename=test.txt");

    print
    "$testo";
    ?>

    funziona tutto ma non riesco a capire come mandare su una riga nuova $var2

    non si fa con \n ??

    Grazie per l'aiuto!
    aquatimer2000

  4. #4
    devi fare:

    $testo=$var1 . "
    " . $var2;


  5. #5
    Originariamente inviato da nonsoloC
    devi fare:

    $testo=$var1 . "
    " . $var2;

    così nel file txt mi stampa tutto su una riga il seguente testo:

    ciao
    mondo

    invece dovrei ottenere

    ciao
    mondo

    come fare?
    aquatimer2000

  6. #6
    up
    aquatimer2000

  7. #7
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    ha provato con una cosa del tipo:
    Codice PHP:
    file elabora.php:
    <?
    [...qui ti tiri giù tutti i post..]
    $everything="varibile1=$valore_passato_per_la_variabile_1\n
    varibile2=
    $valore_passato_per_la_variabile_2\n
    varibile3=
    $valore_passato_per_la_variabile_3\n";
    $nome_file="file.txt";
    $openfopen $nome_file "w" );
    $fwfwrite $open $everything );
    fclose($open);
    echo 
    "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0 url=$nome_file\">";
    ?>
    forse prima di fare l'echo con l'indirizzo del file dovresti fare una specie di refresh...
    poi non so se nel dile.txt devi usare gli \n o i
    per andare a capo

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  8. #8
    ho provato ma nel file .txt se utilizzo \n mi stampa:

    ciao un quadratino e di seguito mondo..

    il quadratino indica una nuova riga?
    aquatimer2000

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.