NetStranger
Постоялец
- Регистрация
- 16 Сен 2008
- Сообщения
- 124
- Реакции
- 1
- Автор темы
- #1
Подскажите как мне доделать скриптик, вот написал с нуля под CI
Скрипт работает но не так как надо, если в папке 1 картинка, он ее сделает, а если 2 и более он на следующие картинки выдает ошибку, но превью сам делает на след картинку, то есть за каждую загрузку страницы по 1 картинке делает, хотя я же вроде цикл создал... вообщем я в тупике, подскажите как это реализовать... или же такие вещи через аякс делаются??
Код:
$data = directory_map('./img/photo/'.$page);
foreach ($data as $val => $img) // Вывод основных картинок в директории пейдж
{
if (!is_array($img)) // вывод самой картинки
{
$must_thumb = '';
foreach ($data['thumbs'] as $val2 => $img2) // генерация путей для возможного thumb
{
if (substr($img2, 0, -10) == substr($img, 0, -4))
{
$must_thumb = '/img/photo/'.$page.'/thumbs/'.$img2;
}
}
$thumb = '/img/photo/'.$page.'/thumbs/'.substr($img, 0, -4)."-thumb".substr($img, -4); // генерация положенного тумбнейла
echo '<h1>'.$must_thumb.'='.$thumb.'</h1>';
if ($must_thumb != $thumb) // проверка на существование thumb
{ // создание тумнейла если нет
$config['image_library'] = 'gd2'; // выбираем библиотеку
$config['source_image'] = './img/photo/'.$page.'/'.$img;
$config['create_thumb'] = TRUE; // ставим флаг создания эскиза
$config['maintain_ratio'] = TRUE; // сохранять пропорции
$config['width'] = 150; // и задаем размеры
$config['height'] = 100;
$config['thumb_marker'] = "-thumb";
$config['new_image'] = './img/photo/'.$page.'/thumbs/'.$img;
$this->load->library('image_lib', $config); // загружаем библиотеку
if ( ! $this->image_lib->resize())
{
echo $this->image_lib->display_errors();
}
echo "<img src='".$thumb."' />";
echo '<br />';
}
else
{
echo "<img src='".$thumb."' />";
echo '<br />';
}
}
}
Скрипт работает но не так как надо, если в папке 1 картинка, он ее сделает, а если 2 и более он на следующие картинки выдает ошибку, но превью сам делает на след картинку, то есть за каждую загрузку страницы по 1 картинке делает, хотя я же вроде цикл создал... вообщем я в тупике, подскажите как это реализовать... или же такие вещи через аякс делаются??