CodeIgniter图像操作。脚本混合文件名

时间:2010-07-27 15:41:25

标签: codeigniter image-manipulation

这是来自使用其图像处理库的CodeIgniter应用程序。

$photos包含一系列相对照片路径。此脚本应调整原始大小,并创建中(_m)和小(_s)大小。

当我只向剧本发送一张照片时,一切都很好。

当我发送一秒时,事情变得搞砸了 - 第一张图片工作正常,但随后:

- 原始第二张图像根本没有调整大小(应调整为800宽/高)
- “原始”第二张图像尺寸(800x800)被命名为带有的小图像第一个图像的文件名。

foreach($photos as $photo) {
  $config['image_library'] = 'gd2';
  $config['source_image']  = $photo;
  $config['maintain_ratio'] = TRUE;

  $photoparts = pathinfo($photo);

  // Resize Original
  $config['width']   = 800;
  $config['height']  = 800;
  $this->image_lib->initialize($config);
  $this->image_lib->resize();

  // Medium Size
  $config['width']   = 500;
  $config['height']  = 500;
  $config['new_image'] = $photoparts['dirname'].'/'.$photoparts['filename'].'_m.'.$photoparts['extension'];
  $this->image_lib->initialize($config);
  $this->image_lib->resize();

  // Small Size
  $config['width']   = 200;
  $config['height']  = 200;
  $config['new_image'] = $photoparts['dirname'].'/'.$photoparts['filename'].'_s.'.$photoparts['extension'];
  $this->image_lib->initialize($config);
  $this->image_lib->resize();
}

我无法弄清楚为什么文件名混淆了我的生活。我能想到的唯一一件事就是我在本地服务器上做这一切,所以也许它运行速度太快以至于脚本超前了?我怀疑是这样的。

1 个答案:

答案 0 :(得分:1)

我终于想通了 - 我想我之前修改原始源图像的事实是在创建问题之前,所以当我将这部分移动到最后时,一切正常。