Загрузка фото с фото в код, без предупреждения о недопустимых типах файлов - PullRequest
0 голосов
/ 24 февраля 2012

Вот функция загрузки:

    $config['upload_path'] = './photos/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']  = 1024 * 2;
    $config['encrypt_name'] = true;

    $this->load->library('upload', $config);
    //$this->upload->initialize($config);

    if (!$this->upload->do_upload("photo_data"))
    {
        $this->error = true;
        $this->response = $this->upload->display_errors('', '');
    }
    else
    {
        $this->upload->data();
        $this->response = "Photo successfully changed.";
    }

    $array = array(
        'error' => $this->error,
        'response' => $this->response
    );

    return $array;

Однако, чтобы проверить, что он не допускает типы файлов, кроме того, который я разрешил, я переименовал видео в .jpg и попытался загрузить его ...

Это не продолжалось, но также не отправляло сообщение об ошибке ... я полагаю, что-то в upload class returns false ... есть идеи, как убедиться, что оно сначала отправляет сообщение пользователю?

1 Ответ

0 голосов
/ 25 февраля 2012

Как вы печатаете ошибки в вашем представлении?Метод, возвращающий false где-то в классе загрузки, - это тот, который вы уже проверили на FALSE, т.е. $this->upload->do_upload()

. Вы должны передать эти ошибки в представление, если вы хотите, чтобы сайт их отображал:

Предполагается, что отправленный вами код получен с контроллера:

$array = array(
        'error' => $this->error,
        'response' => $this->response
    );

$this->load->view('upload_view',$array);
//instead of returning, as "return" in a controller makes little sense. If you're inside a model, then, get the returned value in a controller and pass it to a view. 

В вашем файле представления "upload_view.php":

<div class="<?php $error? 'error' : 'success';?>"><?php echo $response;?></div>
...