Codeigniter Image_lib库source_img

时间:2014-01-03 16:43:03

标签: codeigniter gd

这是我的代码:

if(isset($_FILES["image"])){
            $upload_dir = "files/images/user/profile/";
            $ext = end(explode(".", $_FILES["image"]["name"]));
            $config['upload_path'] = $upload_dir."original/";
            $config['allowed_types'] = 'gif|jpg|png|jpeg';
            $config['max_size'] = "2048";
            $config['encrypt_name'] = TRUE;
            // $config['file_name'] = $this->session->userdata("username").time().".".$ext;

            $this->load->library("upload", $config);
            if($this->upload->do_upload("image")){
                $image = $this->upload->data();
                $conf_res["image_library"] = "gd2";
                $conf_res["source_img"] = realpath($upload_dir."original/".$image["file_name"]);
                $conf_res["new_image"] = $upload_dir."200x200/".$image["file_name"];
                $conf_res["create_thumb"] = TRUE;
                $conf_res["maintain_ratio"] = TRUE;
                $conf_res["width"] = 200;
                $conf_res["height"] = 200;

                $this->load->library("image_lib", $conf_res);
                if($this->image_lib->resize()){
                    echo "done."; die();
                } else {
                    echo $this->image_lib->display_errors().$conf_res["new_image"].$image["file_name"];
                }

            } else {
                $error = $this->upload->display_errors();
                echo $error.$config['upload_path'];
            }

        }

我得到的错误是:

<p>You must specify a source image in your preferences.</p>
<p>Your server does not support the GD function required to process this type of image.</p>
files/images/user/profile/200x200/2606737d1b67a54cfea0a9d4f16ef336.jpg
2606737d1b67a54cfea0a9d4f16ef336.jpg

我一直想着一小时我路上的错误。我甚至检查了phpinfo是否安装了gd2。我无法找出问题所在!

1 个答案:

答案 0 :(得分:1)

尝试从

更改
$conf_res["source_img"] = realpath($upload_dir."original/".$image["file_name"]);

到这个

$conf_res['source_image']   = realpath($upload_dir."original/".$image["file_name"]);

这也是

$this->load->library('image_lib'); 
$this->image_lib->initialize($conf_res);

查看更多信息here