这是来自使用其图像处理库的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();
}
我无法弄清楚为什么文件名混淆了我的生活。我能想到的唯一一件事就是我在本地服务器上做这一切,所以也许它运行速度太快以至于脚本超前了?我怀疑是这样的。
答案 0 :(得分:1)
我终于想通了 - 我想我之前修改原始源图像的事实是在创建问题之前,所以当我将这部分移动到最后时,一切正常。