Blame | Last modification | View Log | RSS feed
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');/*** CodeIgniter** An open source application development framework for PHP 4.3.2 or newer** @package CodeIgniter* @author ExpressionEngine Dev Team* @copyright Copyright (c) 2008, EllisLab, Inc.* @license http://codeigniter.com/user_guide/license.html* @link http://codeigniter.com* @since Version 1.0* @filesource*/// ------------------------------------------------------------------------/*** CodeIgniter Download Helpers** @package CodeIgniter* @subpackage Helpers* @category Helpers* @author ExpressionEngine Dev Team* @link http://codeigniter.com/user_guide/helpers/download_helper.html*/// ------------------------------------------------------------------------/*** Force Download** Generates headers that force a download to happen** @access public* @param string filename* @param mixed the data to be downloaded* @return void*/if ( ! function_exists('force_download')){function force_download($filename = '', $data = ''){if ($filename == '' OR $data == ''){return FALSE;}// Try to determine if the filename includes a file extension.// We need it in order to set the MIME typeif (FALSE === strpos($filename, '.')){return FALSE;}// Grab the file extension$x = explode('.', $filename);$extension = end($x);// Load the mime types@include(APPPATH.'config/mimes'.EXT);// Set a default mime if we can't find itif ( ! isset($mimes[$extension])){$mime = 'application/octet-stream';}else{$mime = (is_array($mimes[$extension])) ? $mimes[$extension][0] : $mimes[$extension];}// Generate the server headersif (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")){header('Content-Type: "'.$mime.'"');header('Content-Disposition: attachment; filename="'.$filename.'"');header('Expires: 0');header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header("Content-Transfer-Encoding: binary");header('Pragma: public');header("Content-Length: ".strlen($data));}else{header('Content-Type: "'.$mime.'"');header('Content-Disposition: attachment; filename="'.$filename.'"');header("Content-Transfer-Encoding: binary");header('Expires: 0');header('Pragma: no-cache');header("Content-Length: ".strlen($data));}exit($data);}}/* End of file download_helper.php *//* Location: ./system/helpers/download_helper.php */