【问题标题】:The upload path does not appear to be valid in CodeIgniter上传路径在 CodeIgniter 中似乎无效
【发布时间】:2013-10-13 01:38:13
【问题描述】:
在尝试上传文件时遇到问题
目前我正在使用亚马逊 ec2 服务器:
$path ='../../../../assets/Data/';
$config['upload_path'] = $path;
$config['allowed_types'] = '*';
$config['overwrite'] = true;
if ( ! $this->upload->do_upload())
{
echo $this->upload->display_errors();
$error = array('error' => $this->upload->display_errors());
}
else{ // I want to perform some action}
当我尝试执行此操作时。我收到一条错误消息,上面写着
“上传路径似乎无效”。我的服务器上的 CodeIgniter 文件夹中存在该路径
【问题讨论】:
标签:
php
html
codeigniter
file-upload
【解决方案1】:
'../../../../assets/Data/' 目录的文件权限是否按照Codeigniter User Guide 的建议设置为777?
另外,配置是在配置文件中设置还是像这样$this-load->library('upload', $config); 加载到库中
最后,为了更加确定路径是否正确,您能否在与您的代码相同的文件中检查var_dump(realpath('../../../../assets/Data/')); 的值?
【解决方案2】:
这里是路径示例。我在应用程序名称文件中有文件夹,在文件中我有文件夹再次命名为contracts-csv。这就是我要走的路。
$config['upload_path'] = './files/contracts-csv/'; //Example path
您还缺少加载库的代码。
$this->load->library('upload', $config);//its very need to work the code
还有这个上传代码
$this->upload->data();//
...希望能帮到你
【解决方案3】:
这个问题一般是在调用$this->load->library('upload', $config);时出现的,可能是没有加载配置设置,所以在加载上传库后尝试添加如下语句。
$this->upload->initialize($config);
【解决方案4】:
文件上传功能需要一个文件系统路径..所以../../../../assets/Data/不是上传文件到文件系统的有效路径..你可以使用
$path = $_SERVER['DOCUMENT_ROOT'].'/这里的上传文件夹路径从你的项目根目录开始';
试试这个..