* finish task #6898.
This commit is contained in:
@@ -149,8 +149,7 @@ class file extends control
|
||||
/* Down the file. */
|
||||
$fileName = $file->title;
|
||||
if(!preg_match("/\.{$file->extension}$/", $fileName)) $fileName .= '.' . $file->extension;
|
||||
$fileData = file_get_contents($file->realPath);
|
||||
$this->sendDownHeader($fileName, $file->extension, $fileData);
|
||||
$this->sendDownHeader($fileName, $file->extension, $file->realPath, 'file');
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -244,9 +243,9 @@ class file extends control
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function sendDownHeader($fileName, $fileType, $content)
|
||||
public function sendDownHeader($fileName, $fileType, $content, $type = 'content')
|
||||
{
|
||||
$this->file->sendDownHeader($fileName, $fileType, $content);
|
||||
$this->file->sendDownHeader($fileName, $fileType, $content, $type);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+10
-2
@@ -869,7 +869,7 @@ class fileModel extends model
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function sendDownHeader($fileName, $fileType, $content)
|
||||
public function sendDownHeader($fileName, $fileType, $content, $type = 'content')
|
||||
{
|
||||
/* Clean the ob content to make sure no space or utf-8 bom output. */
|
||||
$obLevel = ob_get_level();
|
||||
@@ -893,6 +893,14 @@ class fileModel extends model
|
||||
header("Content-Disposition: attachment; filename=\"$fileName\"");
|
||||
header("Pragma: no-cache");
|
||||
header("Expires: 0");
|
||||
die($content);
|
||||
if($type == 'content') die($content);
|
||||
if($type == 'file' and file_exists($content))
|
||||
{
|
||||
$chunkSize = 1024 * 1024;
|
||||
$handle = fopen($content, "r");
|
||||
while(!feof($handle)) echo fread($handle, $chunkSize);
|
||||
fclose($handle);
|
||||
die();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user