php - 用于 excel 文件下载损坏文件的 codeigniter force_download()

标签 php codeigniter download helper

以下是我用来在 codeigniter 中强制下载我的服务器上的一些文件的代码。下载的文件已损坏,MS Excel 无法打开它。我没有看到这段代码有任何问题。我使用 ftp 从服务器下载了文件并检查了它们,它们可以正常打开。我不知道我哪里做错了。

$this->load->helper('download');
$path = base_url('reference/filename.xlsx');
$data = file_get_contents($path); // Read the file's contents
$name = 'filename.xlsx';
force_download($name, $data); 

最佳答案

在获取数据之前使用 ob_clean() 函数刷新输出缓冲区。

您的代码现在应该如下所示。

$this->load->helper('download');
$path = base_url('reference/filename.xlsx');

ob_clean();

$data = file_get_contents($path); // Read the file's contents
$name = 'filename.xlsx';
force_download($name, $data);

关于php - 用于 excel 文件下载损坏文件的 codeigniter force_download(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725371/

相关文章:

php - 获取最后插入的ID

php - jQuery Ajax 与 JSON

php - 如何保护网站免受 xss(跨站脚本攻击)侵害

php - 错误 404 : Page not found in codeigniter when controller is in subfolder

php - 如何链接到文件并更改 CodeIgniter 中的基本 url?

php - 如何根据我在 codeigniter session 中拥有的电子邮件返回数据?

Android:从网络下载图像并在 gridview 上显示它们

php - 设置默认 Controller 或从 url zend 框架中排除某些内容

python-2.7 - 如何在 Chrome 中使用 Selenium + Python 绑定(bind)控制文件的下载

javascript - 不使用 JavaScript 下载文件