【问题标题】:codeigniter image error代码点火器图像错误
【发布时间】:2010-07-08 14:10:55
【问题描述】:

在 codeigniter 中处理图像时遇到问题 - 当我到达 $this->image_lib->resize() 时它会爆炸。我只是看不到错误。

代码:

$imagemanip = array();

$imagemanip['image_library'] = 'gd2';

$imagemanip['source_image'] = '/resources/images/butera-fuma-dolce.jpg';

$imagemanip['new_image'] = '/resources/images/thumb_butera-fuma-dolce.jpg';

$imagemanip['create_thumb'] = TRUE;

$imagemanip['maintain_ratio'] = TRUE;

$imagemanip['width'] = 350;

$imagemanip['height'] = 350;


$this->load->library('image_lib', $imagemanip);



if ( ! $this->image_lib->resize()) {

    echo $this->image_lib->display_errors();

}

正如我所说,它在$this->image_lib->resize() 上轰炸,没有进一步的输出,也不会产生错误。

gd2 已安装(根据phpinfo())。我可以使用纯 html 标签查看原始图像。我做错了什么?

【问题讨论】:

    标签: php image codeigniter class


    【解决方案1】:

    路径应该是相对于你网站的根目录,即你的 index.php 所在的位置,即:

    不要这样做:

    $imagemanip['source_image'] = '/resources/images/butera-fuma-dolce.jpg';
    

    这样做:

    $imagemanip['source_image'] = 'resources/images/butera-fuma-dolce.jpg';
    

    或者,您可以使用 CodeIgniter 的绝对路径常量,如下所示:

    $imagemanip['source_image'] = FCPATH.'resources/images/butera-fuma-dolce.jpg';
    

    【讨论】:

      【解决方案2】:

      使用“create_thumb”选项时,您无需指定“new_image”配置选项。

      库会将文件写入同名文件,并附加 _thumb。

      还要确保设置了正确的写入权限。

      【讨论】:

      • 我知道“new_image”配置选项不是必需的。消除它没有帮助。 “...为写入设置了正确的权限。”这次我在运行 XP 的笔记本电脑上进行开发,而不是在 unix 机器上进行开发。权限是一个因素吗?
      猜你喜欢
      • 2016-03-15
      • 2011-09-27
      • 2016-01-13
      • 2011-10-07
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多