我正在尝试从我的服务器下载文件。
这是我的控制器代码。
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。我认为这是因为名称之间的空间。我该如何解决这个问题?
答案 0 :(得分:0)
使用curl代替。 这可能是你的答案。
在帮助程序中添加该功能,效果很好。
答案 1 :(得分:0)
你可以使用绝对路径到魔术常数__ DIR __
http://php.net/manual/en/language.constants.predefined.php
$data = file_get_contents( __ DIR__.'/../uploads/'.$id);