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
Google Web Fonts – open-source fonts ottimizzati per il web
Scegli un font tra centinaia di famiglie. Ricerca, sfoglia, confronta e…
Abc per la creazione dell’identità aziendale
Tra gli elementi fondamentali per il buon successo dell'identità aziendale…