$config['upload_path'] = site_path().'photos/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '2048';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$this->data['alert'] = $this->upload->display_errors();
$this->load->view('profile/photo', $this->data);
}
else
{
$upload_data = $this->upload->data();
$filename = $upload_data['file_name'];
$width = $upload_data['image_width'];
$height = $upload_data['image_height'];
$config1 = array();
$this->load->library('image_lib');
$config1['source_image'] = site_path().'photos/'.$filename;
$this->remove_existing_file($this->session->userdata('user_id'));
$this->Profile_model->savephoto('Edit', $filename );
redirect('/profile/photo');
}
我收到此错误:
上传路径似乎无效。
发生此错误的原因只有几个:
- 目录
site_path().'photos/'
不存在,尝试运行is_dir()
以确保它确实如此。
- 该目录存在但不可写。确保您已对该目录设置了适当的权限。尝试跑步
is_writable()
确保;确定。
- 您要使用的目录已存在,但您尚未将其正确呈现给上传库。尝试使用带有尾部正斜杠的绝对路径,类似于用户指南中的示例.
除此之外,我想不出任何解释。以下是验证路径的 CI 代码(Upload 类的一部分):
public function validate_upload_path()
{
if ($this->upload_path == '')
{
$this->set_error('upload_no_filepath');
return FALSE;
}
if (function_exists('realpath') AND @realpath($this->upload_path) !== FALSE)
{
$this->upload_path = str_replace("\\", "/", realpath($this->upload_path));
}
// This is most likely the trigger for your error
if ( ! @is_dir($this->upload_path))
{
$this->set_error('upload_no_filepath');
return FALSE;
}
if ( ! is_really_writable($this->upload_path))
{
$this->set_error('upload_not_writable');
return FALSE;
}
$this->upload_path = preg_replace("/(.+?)\/*$/", "\\1/", $this->upload_path);
return TRUE;
}
Update:
根据您的评论,请尝试这样做,让我们看看在进行下一步调试之前会发生什么:
$config['upload_path'] = './community/photos/';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)