Сообщение об ошибке при загрузке нескольких изображений Codeigniter - PullRequest
1 голос
/ 03 декабря 2011

У меня проблема с загрузкой нескольких изображений.

Код

function tester($yourUniqueId){

             $this->load->library('upload'); 

             for($i=0; $i<count($_FILES); $i++)
             {

               $_FILES['userfile']['name']    = $_FILES['filename']['name'][$i];
               $_FILES['userfile']['type']    = $_FILES['filename']['type'][$i];
               $_FILES['userfile']['tmp_name'] = $_FILES['filename']['tmp_name'][$i];
               $_FILES['userfile']['error']       = $_FILES['filename']['error'][$i];
               $_FILES['userfile']['size']    = $_FILES['filename']['size'][$i];

                $path = './uploads/' . $yourUniqueId;
                mkdir($path);

               $config['file_name']     = "kep_" . $i;
               $config['upload_path']   =  $path;
               $config['allowed_types'] = 'jpg|jpeg|png';
               $config['max_size']      = '0';
               $config['overwrite']     = FALSE;

              $this->upload->initialize($config);

              if($this->upload->do_upload())
              {
                $error += 0;

              }else{
                $error += 1;
                }
             }

                 if($error > 0){ 

                    return FALSE; 
                    }else{
                         return TRUE; 

                     }



}

Это немного странно, потому что возвращается false, и я даю эхо

if($error > 0){ 
echo 'Something went wrong'; //just for a test                   
return FALSE; 

Разве это не возможно, чтобы показать эхо?

Я не могу заставить его работать.

Есть ли что-то беспокоит с кодом?

Может кто-нибудь порадоватьдай мне подсказку?Я нигде не вижу

1 Ответ

1 голос
/ 03 декабря 2011

Попробуйте заменить это:

if($this->upload->do_upload())
{
    $error += 0;
}else{
    $error += 1;
}

С этим:

if ( !$this->upload->do_upload())
{
    $error++;
    echo $this->upload->display_errors();
}

Это должно сказать вам, что пошло не так. Вы также можете захотеть обернуть функцию mkdir () на тот случай, если каталог существует (я не знаю, как PHP обрабатывает его в противном случае - возможно, он возвращается рано):

if ( !is_dir($path))
{
    mkdir($path, 0777, TRUE); // make it writable!
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...