图像不使用codeigniter存储在文件夹中

时间:2016-04-17 14:10:41

标签: codeigniter

我的代码如下所示,我无法将图像存储在codeigniter中的sepecfic文件夹中。图像存储数据库表但不存储在特定路径中。

控制器:

if (isset($_FILES['header_image']) && $_FILES['header_image']['name'] != "") {
                    $fileName="header_image_$id";
                    $ext= end(explode('.',$_FILES['header_image']['name']));
                    $file_name=$fileName.".".$ext;
                    $this->_upload('uploads/header_images/', "gif|jpg|png|jpeg", "header_image",$file_name);
                    $this->generic_model->updateRecord("blood_tips",array("header_image"=>'uploads/header_images/'.$fileName.".$ext"), array("id"=>$id));
    }


private function _upload($uploadPath,$allowedTypes,$name,$file_name)
{
    $config['file_name'] = $file_name;
    $config['upload_path'] = $uploadPath;
    $config['allowed_types'] = $allowedTypes;
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';               
    $this->load->library('upload', $config); 
    if (!$this->upload->do_upload($name))
    {
        return $this->upload->display_errors();
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());

    }

}

2 个答案:

答案 0 :(得分:0)

您的文件上传参数与建议的文档不同。

$ config [' upload_path'] =' ./ uploads /&#39 ;;注意" ./"在路径之前。

答案 1 :(得分:0)

在CI中上传文件的正确方法,您需要这样做:

    $fileName="header_image_$id";
    $ext= end(explode('.',$_FILES['header_image']['name']));

    $config['upload_path']   = './uploads/header_images/';
    $config['file_name']     = $fileName.".".$ext;//The extension provided in the file name must also be an allowed file type.
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']      = 0;

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());

        $this->load->view('upload_form', $error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());

        $this->load->view('upload_success', $data);
    }