CodeIgniter: как сделать этот код мультизагрузки более простым

0

Я делаю многократную загрузку изображений в CodeIgniter, это мой код. Этот код работает, но я хочу сделать его более простым, и я пытался использовать "foreach", и получил так много ошибок. Пожалуйста, помогите, спасибо.

function do_upload()
{

    if (!empty($_FILES['userfile']['name']))
    {
        $config['upload_path']   = './upload/';
        $config['allowed_types'] = 'jpg|gif|png';
        $config['max_size']      = '1000';
        $config['max_width']     = '1024';
        $config['max_height']    = '768';

        $config['encrypt_name']  = FALSE;
        $this->upload->initialize($config);

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

                $viewData = array(
                'page_info' => array(
                    'title' => 'Trip',
                    'content' => 'trip/trip'
                ),
                'error' => $error,
                'form' => array(
                    'title'       => $this->input->post('title'),
                    'duration'     => $this->input->post('duration'),
                    'trip_date'     => $this->input->post('trip_date'),                         
                    'price'       => $this->input->post('price'),
                    'status'           => $this->input->post('status'),
                    'place_detail'     => $this->input->post('place_detail'),
                    'package_detail'    => $this->input->post('package_detail'),
                    'itinerary'    => $this->input->post('itinerary'),
                    'latitude'  => $this->input->post('latitude'),
                    'longitude'  => $this->input->post('longitude')

                    )
                );
                $viewDataObject = json_decode(json_encode($viewData));
                $this->load->view('template/index', $viewDataObject);
            }
            else
            {
                $uploadedData = $this->upload->data();

                $title = $this->input->post('title');
                $duration     = $this->input->post('duration');
                $trip_date     = $this->input->post('trip_date');
                $price     = $this->input->post('price');
                $status = $this->input->post('status');
                $place_detail = $this->input->post('place_detail');
                $package_detail = $this->input->post('package_detail');
                $itinerary = $this->input->post('itinerary');
                $latitude  = $this->input->post('latitude');
                $longitude  = $this->input->post('longitude');
                $this->m_admin->add_trip($title, $duration, $trip_date, $price, $status, $place_detail, $uploadedData, $package_detail, $itinerary, $latitude, $longitude );

                redirect('admin/trip');
            }
    }

    if (!empty($_FILES['userfile2']['name']))
    {
        $config['upload_path']   = './upload/';
        $config['allowed_types'] = 'jpg|gif|png';
        $config['max_size']      = '1000';
        $config['max_width']     = '1024';
        $config['max_height']    = '768';

        $config['encrypt_name']  = FALSE;
        $this->upload->initialize($config);

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

                $viewData = array(
                'page_info' => array(
                    'title' => 'Trip',
                    'content' => 'trip/trip'
                ),
                'error' => $error,
                'form' => array(
                    'title'     => $this->input->post('title'),
                    'duration'     => $this->input->post('duration'),
                    'trip_date'     => $this->input->post('trip_date'),
                    'price'     => $this->input->post('price'),
                    'status' => $this->input->post('status'),
                    'place_detail' => $this->input->post('place_detail'),
                    'package_detail'    => $this->input->post('package_detail'),
                    'itinerary'    => $this->input->post('itinerary'),
                    'latitude'  => $this->input->post('latitude'),
                    'longitude'  => $this->input->post('longitude')

                )
            );
                $viewDataObject = json_decode(json_encode($viewData));
                $this->load->view('template/index', $viewDataObject);
            }
            else
            {
                $uploadedData = $this->upload->data();

                $title = $this->input->post('title');
                $duration     = $this->input->post('duration');
                $trip_date     = $this->input->post('trip_date');
                $price    = $this->input->post('price');
                $status = $this->input->post('status');
                $place_detail = $this->input->post('place_detail');
                $package_detail = $this->input->post('package_detail');
                $itinerary = $this->input->post('itinerary');
                $latitude  = $this->input->post('latitude');
                $longitude  = $this->input->post('longitude');
                $this->m_admin->add_trip($title, $duration, $trip_date, $price, $status, $place_detail, $uploadedData, $package_detail, $itinerary, $latitude, $longitude );

                redirect('admin/trip');
            }
    } 

    if (!empty($_FILES['userfile3']['name']))
    {
        $config['upload_path']   = './upload/';
        $config['allowed_types'] = 'jpg|gif|png';
        $config['max_size']      = '1000';
        $config['max_width']     = '1024';
        $config['max_height']    = '768';

        $config['encrypt_name']  = FALSE;
        $this->upload->initialize($config);


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

                $viewData = array(
                'page_info' => array(
                    'title' => 'Trip',
                    'content' => 'trip/trip'
                ),
                'error' => $error,
                'form' => array(
                    'title'     => $this->input->post('title'),
                    'duration'     => $this->input->post('duration'),
                    'trip_date'     => $this->input->post('trip_date'),
                    'status' => $this->input->post('status'),
                    'price'     => $this->input->post('price'),
                    'place_detail' => $this->input->post('place_detail'),
                    'package_detail'    => $this->input->post('package_detail'),
                    'itinerary'    => $this->input->post('itinerary'),
                    'latitude'  => $this->input->post('latitude'),
                    'longitude'  => $this->input->post('longitude')

                )
            );
                $viewDataObject = json_decode(json_encode($viewData));
                $this->load->view('template/index', $viewDataObject);
            }
            else
            {
                $uploadedData = $this->upload->data();

                $title = $this->input->post('title');
                $duration     = $this->input->post('duration');
                $trip_date     = $this->input->post('trip_date');
                $price    = $this->input->post('price');
                $status = $this->input->post('status');
                $place_detail = $this->input->post('place_detail');
                $package_detail = $this->input->post('package_detail');
                $itinerary = $this->input->post('itinerary');
                $latitude  = $this->input->post('latitude');
                $longitude  = $this->input->post('longitude');
                $this->m_admin->add_trip($title, $duration, $trip_date, $price, $status, $place_detail, $uploadedData, $package_detail, $itinerary, $latitude, $longitude);

                redirect('admin/trip');
            }
    }


}
  • 0
    Этот вопрос кажется не по теме - он принадлежит codereview.stackexchange.com
Теги:
codeigniter

1 ответ

0
Лучший ответ

Я не понимаю, почему будет ошибка, если вы использовали

foreach(array('userfile', 'userfile2', 'userfile3') as $filename) {
    if (!empty($_FILES[$filename]['name'])) {
        ...
        if ( ! $this->upload->do_upload($filename)) {
        ...
    } 
}

Не могли бы вы дать больше информации об ошибке, которую показывает вам система?

  • 0
    это работа, спасибо ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню