Sometimes we want content like pictures, text documents, Web pages, MP3, PDFs to be downloaded directly when you click on the link, instead of on the Web page, then you need to force header header information. The following is a paragraph will not generate garbled PHP function implementation code, other program language can also refer to the written implementation.
Copy Code code as follows:
/**
* Downloader
*
* @param $archivo
* Path Al Archivo
* @param $downloadfilename
* (null|string) el nombre que queres usar para el archivo que se va a descargar.
* (Si no lo especificas usa el nombre actual del archivo)
*
* @return File stream
*/
function Download_file ($archivo, $downloadfilename = null) {
if (file_exists ($archivo)) {
$downloadfilename = $downloadfilename!== null? $downloadfilename: basename ($archivo);
Header (' Content-description:file Transfer ');
Header (' Content-type:application/octet-stream ');
Header (' Content-disposition:attachment filename= '. $ DownloadFileName);
Header (' content-transfer-encoding:binary ');
Header (' expires:0 ');
Header (' Cache-control:must-revalidate, post-check=0, pre-check=0 ') ;
Header (' pragma:public ');
Header (' Content-length: FileSize ($archivo));
Ob_clean ();
Flush ();
ReadFile ($archivo);
Exit
}
}