Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [PHP] Esportazione in xls che non si scarica.

    Ciao a tutti,

    ho un problema che non mi spiego con una pagina che mi salva i dati estratti da un db in un file di excel, ebbene il problema è che chrome non mi salva il file ma me lo fa vedere come se fosse una pagina qualsiasi del sito che sto facendo per la scuola.

    Gli header che uso sono i seguenti:

    Codice PHP:
    <?
    header
    ("Content-type: application/vnd.ms-excel");  
    header("Content-disposition: file.xls");?>
    mi sapete spiegare per quale motivo non mi scarica il file ma me lo fa solo vedere con tutti i dati correttamente intabellati ed estratti?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208
    Quote Originariamente inviata da BarakObama Visualizza il messaggio
    Ciao a tutti,

    ho un problema che non mi spiego con una pagina che mi salva i dati estratti da un db in un file di excel, ebbene il problema è che chrome non mi salva il file ma me lo fa vedere come se fosse una pagina qualsiasi del sito che sto facendo per la scuola.

    Gli header che uso sono i seguenti:

    Codice PHP:
    <?
    header
    ("Content-type: application/vnd.ms-excel");  
    header("Content-disposition: file.xls");?>
    mi sapete spiegare per quale motivo non mi scarica il file ma me lo fa solo vedere con tutti i dati correttamente intabellati ed estratti?

    Grazie
    Prova così:

    Codice PHP:
    <?
    header
    ("Content-type: application/vnd.ms-excel");  
    header("Content-disposition: attachment; filename=file.xls");?>
    Ho fatto una semplice ricerca e non ho testato, ma dovrebbe funzionare.

  3. #3
    niente da fare vedo la tabella ma non mi scarica il file xls

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208
    Prova a svuotare la cache, questa definizione col content-disposition attachment è quella giusta. Prova in alternativa a sostituire le attuali virgolette con degli apici e a comprendere tra virgolette il nome del file. Ma non mi pare questo il problema sinceramente, mi fa pensare più ad un problema della cache del browser.

  5. #5
    ti ringrazio, domani provo e ti faccio sapere se ho risolto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    208
    E quindi?

  7. #7
    innanzitutto scusa se rispondo solo ora ma niente, stesso file sul mio pc a casa scarica il file excel, sul pc della scuola invece mi visualizza la pagina come fosse una pagina web.

    entrambi con chrome aggiornato e entrambi con windows 7 originale aggiornato a 64 bit.

    dimenticavo che ho provato anche con ie ma lo stesso non scarica il file ma lo visualizza solo.

    sinceramente io non so più che fare

  8. #8
    Codice PHP:
    <?php
    header
    ("Content-disposition: attachment; filename=file.xls");
    header("Content-type: application/vnd.ms-excel");
    readfile("file.xls");
    ?>
    Prova così. Non lasciare righe vuote nel codice.
    In readfile() indica il percorso del file da scaricare.

    Oppure in modo più esteso e completo, manda tutti gli header
    Codice PHP:
    $file ="file che vuoi scaricare";
        
    header('Content-Description: File Transfer');
        
    header('Content-Type: application/octet-stream');
        
    header('Content-Disposition: attachment; filename='.basename($file));
        
    header('Expires: 0');
        
    header('Cache-Control: must-revalidate');
        
    header('Pragma: public');
        
    header('Content-Length: ' filesize($file));
        
    ob_clean();
        
    flush();
        
    readfile($file); 
    In questo modo gli dici che il flusso dati sarà un file da salvare.
    Ultima modifica di W Thunderbird; 29-05-2014 a 11:10

  9. #9
    ok, con il primo codice funziona,
    ma visto che sto imparando mi sai spiegare perché su una macchina funziona e su un'altra invece no?

    grazie!

  10. #10
    Quote Originariamente inviata da BarakObama Visualizza il messaggio
    ok, con il primo codice funziona,
    ma visto che sto imparando mi sai spiegare perché su una macchina funziona e su un'altra invece no?

    grazie!
    Deve funzionare su tutti i pc.
    A volte, come ti è stato indicato, è un problema della cache del browser.
    Poi capire come fa' ad aprirlo come pagina web.. ma come lo visualizza ? aprendoti excel dentro il browser come faceva eplorer ?

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.