Mi è capitato ultimamente di dover far scaricare un file pdf. Sia ben chiaro scaricare direttamente e non farlo aprire all’interno di un browser. Questo perché? Spesso (sopratutto con i vecchi browser come ie6 e ie7) quando si deve far scaricare un file pdf questo risulta illeggibile. In problema non è il file che è corrotto ma bensì il browser che ha un bug. Onde evitare problemi si preferisce far scaricare direttamente il file interessato, che potrebbe essere un file pdf o un cvf o un qualsiasi altro file che potrebbe aprirsi in maniera non corretta all’interno del browser.
Per risolvere questo problema PHP ci viene incontro. Come? Andando a fare un rewrite dell’estesione del file interessato. Supponiamo abbia il file nome.pdf da far scaricare; andremo ad aprire un file con estensione php per poi risostituirno con l’estensione originale. In questo modo il file verrà scaricato direttamente.
<a href=
"/pdf/nome.php"
target=
"_blank"
title=
"Clicca per saperne di più »"
>
<?php
$file=$_SERVER[
'PHP_SELF'
];
$pieces = explode(
"/"
, $file);
$pieces_ok= array_reverse($pieces);
$array_file= explode(
"."
, $pieces_ok[
0
]);
$nome=$array_file[
0
];
// We'll be outputting a PDF
header(
'Content-type: application/pdf'
);
// It will be called downloaded.pdf
header(
'Content-Disposition: attachment; filename="'
.$nome.
'.pdf"'
);
// The PDF source is in original.pdf
readfile($nome.
'.pdf'
);
?>
Altri appunti
Che cos’è il Qr Code? Esempi di come sfruttarlo al meglio!
Chi di voi sa che cos’è un Qr Code? Quanti di voi ne hanno mai incontrato…
Sito Internet per Ristorante
Dove vado a cena?La serata di molti possibili clienti inizia con questa…