图像名称已保存在数据库中,但图像未保存在文件管理器中,cpanel的文件管理器是否存在权限问题或编码问题?
控制器
function addprofilepicture()
{
$userID = $this->session->userdata("user_id");
$data['user'] = $this->m_user->getRows($userID);
$config['upload_path'] = './assets/Images/profilepictures';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('userfile')){
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
} else {
$image = $_FILES['userfile']['name'];
$this->m_user->update_pic($image);
}
}
模型
public function update_pic ($image){
if($this->session->userdata("user_id"))//If already logged in
{
$userID = $this->session->userdata("user_id");
$data['user'] = $this->m_user->getRows($userID);
$data = array('profile_pic' => $image,);
$this->db->where('user_id', $userID);
return $this->db->update('users', $data);
}
}
查看
<?php echo form_open_multipart('user/addprofilepicture'); ?>
<input type="file" name="userfile" size="20" required>
<input type="submit" class="btn btn-primary" value="Upload" />
<?php echo form_close(); ?>
答案 0 :(得分:0)
最好使用完整路径,也就是说,如果您的资产位于根目录(主index.php所在的目录)
./
表示正在执行上传的当前目录
$config['upload_path'] = FCPATH.'assets/Images/profilepictures';
答案 1 :(得分:0)
您可以使用
function addprofilepicture() {
$userID = $this->session->userdata("user_id");
$data['user'] = $this->m_user->getRows($userID);
$config['upload_path'] = './assets/Images/profilepictures/';
$config['allowed_types'] = 'gif|jpg|png';
$this->upload->initialize($config);
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('userfile')){
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
} else {
$image = $_FILES['userfile']['name'];
$this->m_user->update_pic($image);
}
}