Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725

    Percorso File e Pulsante

    Ciao a tutti, una domandina, non ho mai lavorato con i file e ora dovevo fare una cosuccia.

    Allora ho una pagina dove viene stampata un query piuttosto pesante, vorrei che il risultato, 10.000 linee mi venga salvato in un txt. Ho già visto che bisogna mettere i dati della query in una variabile e poi usato questa sintassi:

    Codice PHP:
    $fp fopen("TEST.txt""w");
    $textfwrite($fp$miavariabile);
    fclose($fp); 
    Ed effettivamente funziona, ho però bisogno di 2 cose.

    1) Ora lo salva in locale, si può fare che non lo salvi mai in locale ma che lo salvi sul desktop ad esempio?

    2) E possibile far si che ci sia un pulsante che se premuto crei il file anziche crearlo sempre e che mi dia ad esempio la schermata salva con nome?

    Grazie mille
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  2. #2
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Vorrei aggiungere che ho testato cosi:

    $fp = fopen("C:\Documents and Settings\Utente\Desktop\TEST.txt", "w");

    Ma invece di creare il file TEST.txt sul desktop, mi ha creato un file in locale (sul server) con nome C:\Documents and Settings\Utente\Desktop\TEST.txt
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  3. #3
    php non può interagire con il client...

    prima salvi il file sul server, in un file temporaneo...

    poi con uno script simile a questo

    Codice PHP:
    $file 'percorso/sul/server/nome_file.txt';

    if (
    file_exists($file))
               {
                       
    header("Pragma: public");
                       
    header('Expires: '.gmdate('D, d M Y H:i:s').' GMT');
                       
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                       
    header("Cache-Control: private",false);
                       
    header("Content-Type: text/plain");
                       
    header('Content-Disposition: attachment; filename=nome_file.php");
                       header("Content-Transfer-Encoding: binary");
                       header('
    Content-Length'.filesize($file));
                       @readfile($file) OR die("File non trovato");
                       exit;
               }
            else die("File non trovato"); 
    lo invii al browser e chiedi all'utente di scaricarlo
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  4. #4
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Ciao, grazie per la risposta, ora però ti faccio una domanda, effettivamente penso trovi il file perchè ora mi stampa a video anche il contenuto del file, come faccio per via che lo faccia scaricare anziche stamparlo a video?

    Inoltre come fare per via che poi il file creato sul server venga eliminato?

    Grazie mille!
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  5. #5
    il mio script forza il download...

    per cancellarlo

    Codice PHP:
    unlink('percorso_file/nome_file'); 
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  6. #6
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Per cancellarlo funziona, per il download non va, ovvero non mi fa nessun download, me lo stampa solo a video

    Forse è per questa riga

    header("Content-Disposition: attachment; filename=nome_file.php");

    Il mio file si chiama TEST.txt

    come va quella linea? Quale sintassi è giusta?

    1) header("Content-Disposition: attachment; filename=Esportazione.txt");
    2) header("Content-Disposition: attachment; filename=Esportazione.php");
    3) header("Content-Disposition: attachment; filename=Esportazione.txt.php");
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  7. #7
    vedo ora un'errore di sintassi...

    Codice PHP:
    $file 'percorso/sul/server/nome_file.txt'

    if (
    file_exists($file)) 
               { 
                       
    header("Pragma: public"); 
                       
    header('Expires: '.gmdate('D, d M Y H:i:s').' GMT'); 
                       
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
                       
    header("Cache-Control: private",false); 
                       
    header("Content-Type: text/plain"); 
                       
    header("Content-Disposition: attachment; filename=nome_file.php"); 
                       
    header("Content-Transfer-Encoding: binary"); 
                       
    header("Content-Length: " .filesize($file)); 
                       @
    readfile($file) OR die("File non trovato"); 
                       exit; 
               } 
            else die(
    "File non trovato"); 
    probabile che il problema fosse quello...
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  8. #8
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Ora controllo perchè avevo gia visto e sistemato gli apici.
    Continua a dare il problema, può essere per il motivo citato 2 post sopra?
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  9. #9
    sorry... il content type è errato!

    cambia text/plain con application/force-download e sei a posto
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  10. #10
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Non odiarmi ti prego

    Ho messo cosi:
    Codice PHP:
    if (file_exists($file)){
                       
    header("Pragma: public"); 
                       
    header('Expires: '.gmdate('D, d M Y H:i:s').' GMT'); 
                       
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
                       
    header("Cache-Control: private",false); 
                       
    header("Content-Type: application/force-download"); 
                       
    header("Content-Disposition: attachment; filename=TEST.txt"); 
                       
    header("Content-Transfer-Encoding: binary"); 
                       
    header("Content-Length: " .filesize($file)); 
                       @
    readfile($file) OR die("File non trovato");  
                       
    //unlink('Esportazione.txt');
               
    exit;
    }else die(
    "File non trovato"); 
    Ma cosi non va, però lo stampa a video, solo non lo scarica.

    Ho provato anche questo metodo: http://php.net/manual/en/function.readfile.php ma non va è come se si bloccasse sulle ultime 2 funzioni
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

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.