1
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
5
* An open source application development framework for PHP 5.1.6 or newer
8
* @author ExpressionEngine Dev Team
9
* @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
10
* @license http://codeigniter.com/user_guide/license.html
11
* @link http://codeigniter.com
16
// ------------------------------------------------------------------------
19
* CodeIgniter Download Helpers
21
* @package CodeIgniter
24
* @author ExpressionEngine Dev Team
25
* @link http://codeigniter.com/user_guide/helpers/download_helper.html
28
// ------------------------------------------------------------------------
33
* Generates headers that force a download to happen
36
* @param string filename
37
* @param mixed the data to be downloaded
40
if ( ! function_exists('force_download'))
42
function force_download($filename = '', $data = '')
44
if ($filename == '' OR $data == '')
49
// Try to determine if the filename includes a file extension.
50
// We need it in order to set the MIME type
51
if (FALSE === strpos($filename, '.'))
56
// Grab the file extension
57
$x = explode('.', $filename);
60
// Load the mime types
61
if (defined('ENVIRONMENT') AND is_file(APPPATH.'config/'.ENVIRONMENT.'/mimes.php'))
63
include(APPPATH.'config/'.ENVIRONMENT.'/mimes.php');
65
elseif (is_file(APPPATH.'config/mimes.php'))
67
include(APPPATH.'config/mimes.php');
70
// Set a default mime if we can't find it
71
if ( ! isset($mimes[$extension]))
73
$mime = 'application/octet-stream';
77
$mime = (is_array($mimes[$extension])) ? $mimes[$extension][0] : $mimes[$extension];
80
// Generate the server headers
81
if (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE") !== FALSE)
83
header('Content-Type: "'.$mime.'"');
84
header('Content-Disposition: attachment; filename="'.$filename.'"');
86
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
87
header("Content-Transfer-Encoding: binary");
88
header('Pragma: public');
89
header("Content-Length: ".strlen($data));
93
header('Content-Type: "'.$mime.'"');
94
header('Content-Disposition: attachment; filename="'.$filename.'"');
95
header("Content-Transfer-Encoding: binary");
97
header('Pragma: no-cache');
98
header("Content-Length: ".strlen($data));
106
/* End of file download_helper.php */
107
/* Location: ./system/helpers/download_helper.php */
b'\\ No newline at end of file'