Php 从codeigniter中的服务器下载文件
我正试图从我的服务器下载一个文件 这是我的控制器代码Php 从codeigniter中的服务器下载文件,php,codeigniter,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')
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。我想这是因为名字之间的空格。如何解决此问题?请改用curl。
这可能是你的答案
在助手中添加该函数,效果很好。您可以使用魔法常数的绝对路径\uuuu\DIR__
检查文件路径是否正确或文件是否存在。首先尝试回显路径检查回显$base_path的值。“/uploads/”。$id;死亡是的,问题出在路径本身。实际上,它并没有在文件名之间加上spcae。例如,它现在可以使用文件名xyz,但不能使用文件名ex。请尝试使用xyz。我想这是因为名字中间的空格。我怎样才能解决这个问题?
$data = file_get_contents( __ DIR__.'/../uploads/'.$id);