CodeIgniter - force_download()没有输出

时间:2010-10-21 08:31:21

标签: php codeigniter download

快速解释,但我不能让它起作用:

在这个简单的代码中,函数force_download根本不会产生任何输出。

$this->load->helper('download');
$data = file_get_contents("modulos/".$filename); // Read the file's contents
force_download($filename, $data);
echo $data."/".$filename;

这里我只是得到一个白色的屏幕,但文件内容是显示的(嗯,你知道,奇怪的编码内容:) 我认为这很简单,我只是希望下载的文件没有其他效果,我做错了什么?

5 个答案:

答案 0 :(得分:4)

只是给可能遇到此问题的其他人留言:确保您为force_download()的第一个参数提供的文件名有文件扩展名。

CodeIgniter使用它来设置MIME类型,它似乎没有。

答案 1 :(得分:4)

这将与您合作

$this->load->helper('download');
$path = file_get_contents(base_url()."modulos/".$filename); // get file name
$name = "sample_file.pdf"; // new name for your file
force_download($name, $path); // start download`

答案 2 :(得分:0)

删除echo $data."/".$filename;它应该是这样的

$this->load->helper('download');
$data = file_get_contents("modulos/".$filename); // Read the file's contents
force_download($filename, $data); 

答案 3 :(得分:0)

你不应该在force_download()之后调用函数,只需删除最后一行。

答案 4 :(得分:-1)

删除base _ url(),然后这样做

$path= file_get_contents('./uploads/abc.jpg);