PHP / Codeigniter - для цикла [неопределенное смещение] - PullRequest
1 голос
/ 29 марта 2012
for($i=0;$i<count($status);$i++)
{
    $conf = array(
        'source_image' => $status[$i]['full_path'],
        'new_image' => $this->upload_path . '/thumbs',
        'maintain_ratio' => true,
        'width' => 200,
        'height' => 200
    );

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

    $this->image_lib->clear(); // complete reset    
    $this->image_lib->initialize($conf); // complete reset
}

            .

всегда пропускайте последний цикл создания миниатюр. при попытке для ($ i = 0; $ i <= count ($ status); $ i ++) </strong>. я получил это уведомление Неопределенное смещение

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

Используя цикл for, вы предполагаете, что ключи массива являются смежными, которых они могут не быть. Вы также предполагаете, что у каждого массива второго уровня есть ключ full_path, которого он может не иметь. Вместо этого используйте foreach и выполните проверку isset() для клавиши full_path:

foreach ($status as $item)
{

    if (!isset($item['full_path'])) continue;

    $conf = array(
        'source_image' => $item['full_path'],
        'new_image' => $this->upload_path . '/thumbs',
        'maintain_ratio' => true,
        'width' => 200,
        'height' => 200
    );

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

    $this->image_lib->clear(); // complete reset    
    $this->image_lib->initialize($conf); // complete reset
}
0 голосов
/ 29 марта 2012

попробуйте это:

$this->load->library('image_lib');
$stat = array_values($status);
for($i=0;$i<count($stat);$i++)
{
$conf = array(
    'source_image' => $stat[$i]['full_path'],
    'new_image' => $this->upload_path . '/thumbs',
    'maintain_ratio' => true,
    'width' => 200,
    'height' => 200
);

$this->image_lib->initialize($conf); // complete reset
$this->image_lib->resize();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...