在codeigniter中从服务器下载文件

时间:2014-07-30 05:00:16

标签: php codeigniter

我正在尝试从我的服务器下载文件。

这是我的控制器代码。

public function download($id)
{
    $this->load->helper('url');
    $base_url = $this->config->item('base_url');
    $base_path = $this->config->item('base_path');
    $this->load->helper('download');

    $data = file_get_contents( $base_path.'/uploads/'.$id);
    $name = $id;
    force_download($name, $data);
}

然而,我收到一个错误:

file_get_contents(path/filename): failed to open stream: No such file or directory.

我该如何解决这个问题?谢谢

问题出在路径本身。实际上它不会在它们之间带有空格的文件名。对于前它现在工作正常,文件名为xyz,但不是文件名ex。试试xyz。我认为这是因为名称之间的空间。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用curl代替。 这可能是你的答案。

http://www.technologyworkshops.net/php/how-to-download-and-save-a-file-to-local-path-using-curl-t132.html

在帮助程序中添加该功能,效果很好。

答案 1 :(得分:0)

你可以使用绝对路径到魔术常数__ DIR __

http://php.net/manual/en/language.constants.predefined.php

$data = file_get_contents( __ DIR__.'/../uploads/'.$id);