6

我想在重定向链接上显示内容插入的成功消息。这是我的控制器代码:-

public function do_upload($field) {
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'gif|jpg|png';
        $config['max_size'] = '100000';
        $config['max_width'] = '3000';
        $config['max_height'] = '3000';

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

        if (!$this->upload->do_upload($field)) {
            $error = array('error' => $this->upload->display_errors());

            return $error;
        } else {

            $updata =$this->upload->data();
            $data = $updata['raw_name'].$updata['file_ext'];
            return $data;
        }


     }


public function index() {

 $this->load->model('blog');

        if(isset($_POST['post']) && (!empty($_POST['post']) || strlen($_FILES['inputUpProfile']['name']) > 0) ){
        if(strlen($_FILES['inputUpProfile']['name']) > 0) 
        {
        $pic = $this->do_upload('inputUpProfile');
        print_r($pic);
        if ($this->input->post('post') == ''){$type="image";} else {$type="image-with-text";}
        }

        else {$pic = ""; $type = "text"; }

            $result = $this->blog->addPost($_SESSION['user_id'], $type  , $this->input->post('post'),$pic);
        }
$this->template->build('home_view',$this->data);
}

当上传大于 3000 的图像时,它会显示此消息

Array ( [error] =>

The filetype you are attempting to upload is not allowed.
) 

我怎么能在我看来阅读这个错误?

=================================================

更新 :-

像这样的错误消息:-

Array ( [error] =>

The filetype you are attempting to upload is not allowed.
)
A PHP Error was encountered

Severity: Notice

Message: Array to string conversion

Filename: mysql/mysql_driver.php

Line Number: 552
A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\cc\ccc\application\controllers\home.php:83)

Filename: core/Common.php

Line Number: 442
A Database Error Occurred

Error Number: 1054

Unknown column 'Array' in 'field list'

INSERT INTO `events` (`ev_user_id`, `ev_type`, `ev_text`, `ev_pic`, `ev_date`) VALUES (445, 'image', '', Array, '2013-10-03 23:51:47')

Filename: E:\AppServ\www\cc\ccc\system\database\DB_driver.php

Line Number: 330
4

3 回答 3

13

如果你有错误

Array ( [error] =>
   The filetype you are attempting to upload is not allowed.
)

在控制器中你可以这样做

if (!$this->upload->do_upload($field)) {
    $error = array('error' => $this->upload->display_errors());
    $this->session->set_flashdata('error',$error['error']);
    redirect('your_function_which_loads_the_view','refresh');
}

并在视图页面中执行类似的操作

if($this->session->flashdata('error')){echo $this->session->flashdata('error');}

如果您遇到任何问题,请告诉我。

于 2013-10-04T07:10:25.670 回答
1

只需在您的视图中显示错误,这里的步骤:首先加载会话库,在文件夹配置中执行,文件 aoutoload.php

$autoload['libraries'] = array('session');

在控制器中,为此更改这段代码

  if (!$this->upload->do_upload($field)) {
    $this->session->set_flashdata( 'error_msg', $this->upload->display_errors() );
    redirect( base_url( 'your view' ) );
  }

在您的视图文件中...

    <?php
    if ( $this->session->flashdata( 'error_msg' ) ) {
        echo $this->session->flashdata('error_msg');
    }
    ?>
于 2018-12-30T05:44:27.703 回答
0
$pic = $this->do_upload('inputUpProfile');
$this->data['upload_error'] = $pic['error'];

然后在视图中:

echo $upload_error;
于 2013-10-03T20:45:24.093 回答