Forzare download di file pdf senza apertura automatica

di il
3 risposte

Forzare download di file pdf senza apertura automatica

Salve a tutti. Ho creato uno script php per il download di alcuni file (immagini, pdf, documenti doc, etc) dal sito web. Il problema è che con alcune tipologie di file tipo le immagini le scarica aprendo la finestra che chiede dove salvare il file mentre con altre (specialmente i pdf) non apre la finestra di dialogo dove salvare e salva in automatico senza chiedere nulla nella directory predefinita per i download inoltre al termine del dowload apre in automatico il pdf con il lettore di pdf predefinito.
Io vorrei evitare questa cosa e che anche per i pdf chieda dove salvare i file ed al termine del downloa non lo apra direttamente. Ho provato diversi codici ma o mi scaricavano file corrotti o al termine del download li apriva direttamente.

$file = $_GET['file'];
$url = "{$_SERVER['DOCUMENT_ROOT']}images/files/".$file;
header("Pragma: public");
header("Expires: 0");
header("Pragma: no-cache"); 
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");  
header("Content-Type: application/force-download"); 
header('Content-disposition: attachment; filename=' . basename($url));
header("Content-Transfer-Encoding: binary");
header('Content-Length: ' . filesize($url));
@readfile($url);
  exit(0);

3 Risposte

  • Re: Forzare download di file pdf senza apertura automatica

    Tarvobarros ha scritto:


    Il problema è che con alcune tipologie di file tipo le immagini le scarica aprendo la finestra che chiede dove salvare il file mentre con altre (specialmente i pdf) non apre la finestra di dialogo dove salvare e salva in automatico senza chiedere nulla nella directory predefinita per i download inoltre al termine del dowload apre in automatico il pdf con il lettore di pdf predefinito.
    Si tratta di un comportamento legato al browser e configurabile dalle opzioni.

    A parte restituire un file come allegato, quindi suggerendo il download al posto della visualizzazione "in linea", come gestire lo scaricamento e l'apertura manuale o automatica del file, sono "affari del browser" conseguenti e indipendenti dalla volontà del sito Web, per quanto ne so.

    Ciao!
  • Re: Forzare download di file pdf senza apertura automatica

    Ok...quindi a questo punto mi conviene quasi fare uno zip del file con php prima del download e forzare il download cosi il browser non lo aprirà in automatico.
  • Re: Forzare download di file pdf senza apertura automatica

    Tarvobarros ha scritto:


    Ok...quindi a questo punto mi conviene quasi fare uno zip del file con php prima del download e forzare il download cosi il browser non lo aprirà in automatico.
    Se io, come utente, configuro il browser per aprire gli ZIP in automatico, ciò avverrà comunque.
Devi accedere o registrarti per scrivere nel forum
3 risposte