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

    Forzare download file Excel

    Salve a tutti.

    Sto cercando di effettuare il download forzato di un file Excel, precedentemente creatoe e salvato in una cartella sul server.

    Se carico il file via FTP nesusn problema, il file una volta aperto con Excel, è leggibile con tutti i dati all'interno.

    Se invece salvo il file dopo averne forzato il download dal browser, una volta aperto con Excel risulta essere vuoto.

    Avete soluzioni?

    Di seguito la funzione che forza il download
    Codice PHP:
    function forceDownload($file) {
            
            
    $directory "export_listino/";
            
            if(
    file_exists($directory $file) && is_readable($directory $file)) {
                
    $filename basename($file);
                if(
    strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), 'MSIE') !== false && strpos($filename'.') !== false) {
                  
    $parsename explode('.'$filename);
                  
    $last count($parsename) - 1;
                  
    $filename implode('%2E'array_slice($parsename0$last));
                  
    $filename .= '.'.$parsename[$last];
                }
              
    header('Content-Type: application/vnd.ms-excel');
              
    header('Content-Disposition: attachment; filename="' $directory $filename '"');
              
    header('Content-Length:'.filesize($directory $file));
              
    header('Content-Transfer-Encoding: Binary');
              
    /*if(@$file = fopen($file, "rb")) {
                  while(!feof($file))
                      echo fread($file, 8192);
                  fclose($file);
                }*/
                
    exit(0);
            }
        } 

  2. #2
    Nel codice che hai postato, le righe che dovrebbero leggere il contenuto del file ed inviarlo al client sono commentate. Prova a eliminare i commenti oppure prima di exit(0); inserisci:

    Codice PHP:
    readfile($directory $file); 

  3. #3
    Hai ragione, funziona.

    Ma perchè dovrebbe leggere il contenuto del file? :master:

    Comunque grazie

  4. #4
    Ma perchè dovrebbe leggere il contenuto del file?
    Se non lo legge, come fa ad inviarlo al client?

  5. #5
    Via FTP mica prima legge il file e poi lo restituisce.
    Pensavo anche funzionasse allo stesso modo.

    In caso di file non leggibile da php, come si farebbe?

    Oppure per "leggere il file" si intende semplicemente "far vedere" il file da php?

  6. #6
    Via FTP mica prima legge il file e poi lo restituisce.
    Pensavo anche funzionasse allo stesso modo.
    Via FTP non viene eseguito/richiamato uno script PHP.

    In caso di file non leggibile da php, come si farebbe?
    Che cosa intendi per "non leggibile da php"?

    Oppure per "leggere il file" si intende semplicemente "far vedere" il file da php?
    Si intende che il file esiste e l'utente che esegue PHP ha i privilegi necessari per accedervi.

  7. #7
    Che cosa intendi per "non leggibile da php"?
    Hai già risposto tu dicendo "Si intende che il file esiste e l'utente che esegue PHP ha i privilegi necessari per accedervi".

    A questo punto non esiste un file non leggibile per quello scopo da php.

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.