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

    Download file tramite PHP

    Salve, ho un problema con un'applicazione che sto costruendo.
    In pratica, attraverso un forum inserisco dei dati, questi, una volta formattati, vengono inseriti in un template RTF e poi spediti al client.

    Fin qui nessun problema, almeno apparentemente perché praticamente oltre al file RTF, attaccato ad esso c'è pure la pagina risultante del form, in HTML.
    Non capisco come fa, nel server, lì dove viene salvato il file RTF questo risulta giusto, cioè senza l'HTML appeso sotto.
    Se lo scarico in FTP è perfetto, ma quando lo scarico attraverso il browser via https, niente appesa sotto il codice RTF c'è anche la pagina HTML risultante dal form.

    Il codice che genera il download sta nella stessa pagina del form ed è fatto in questo modo:
    Codice PHP:
    //    Salva il file per il tipo di registro
    $file 'documento-' $input['registro'][0] . '.rtf';
    file_put_contents($file$strLOCK_EX);

    //    Download del file formattato
    header('Cache-Control: public');
    header('Content-Description: File Transfer');
    header('Content-Type: application/rtf');
    header('Content-Disposition: attachment; filename= ' $file);
    header('Content-Transfer-Encoding: binary');

    readfile($file); 
    Funziona, ma mi fa quello scherzo, ho cercato su internet e perfino sul manuale del PHP c'è un esempio simile ( https://www.php.net/manual/en/function.header.php ).
    Forse il problema è altrove, ma francamente non saprei dove cercare. Di sicuro appare solo quando effettuo il download, perché appunto file_put_contents() mi salva il file nel modo giusto.

  2. #2
    Aggiornamento pomeridiano!
    Sono perplesso, ora funziona.
    Non ho fatto che una modifica, aggiungere un altro header(), quello che calcola la dimensione del file da scaricare: header('Content-Length: ' . filesize($file)); un po' strano, ma forse è perché tronca la dimensione al file effettivo, non so mi pare una ...str... tr ma no, non è così, tolta la modfica ha comunque funzionato, quindi non è quella.
    Mistero della fede!

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 © 2019 vBulletin Solutions, Inc. All rights reserved.