Загрузка изображения в codeigniter в базу данных - PullRequest
1 голос
/ 24 сентября 2019

У меня проблема с загрузкой изображений в базу данных в codeigniter.Когда я загружаю изображение в базу данных, оно показывает такой тип ошибки, как:

Путь загрузки не является допустимым.Так в чем же проблема в этом коде?Я не могу понять, поэтому, пожалуйста, помогите мне.

Я также пытался использовать метод base_url (), но ошибка не устранена ...!

Мой Html-код: -

<?php echo form_open_multipart('student/insertstudent') ?>
<form>
<div class="panel panel-primary" >
    <div class="panel-heading" >
        <p class="label" style="font-size: 15px">Student Registration Form</p>
    </div>
    <div class="panel-body">
        <fieldset>
            <div class="form-group">
                <label for="exampleInputEmail1">First Name</label>
                <input type="text" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter First Name" name="fname" value="<?php echo set_value('fname'); ?>">
                <div class="row-lg-6">
                    <?php echo form_error('fname'); ?>
                </div>
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">Last Name</label>
                <input type="text" class="form-control" id="exampleInputPassword1" placeholder="Enter Last Name" name="lname" value="<?php echo set_value('lname'); ?>">
                <div class="row-lg-6">
                    <?php echo form_error('lname'); ?>
                </div>
            </div>
            <div class="form-group">
                <label for="exampleTextarea">Address</label>
                <textarea class="form-control" id="exampleTextarea" rows="2" placeholder="Enter Address" name="add"><?php echo set_value('add'); ?></textarea>
                <div class="row-lg-6">
                    <?php echo form_error('add'); ?>
                </div>
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">Contact Number</label>
                <input type="text" class="form-control" id="exampleInputPassword1" placeholder="Enter Contact Number" name="cno" value="<?php echo set_value('cno'); ?>">
                <div class="row-lg-6">
                    <?php echo form_error('cno'); ?>
                </div>
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">Emaid ID</label>
                <input type="text" class="form-control" id="exampleInputPassword1" placeholder="Enter your email" name="email" value="<?php echo set_value('email'); ?>">
                <div class="row-lg-6">
                    <?php echo form_error('email'); ?>
                </div>
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">Enter Course</label>
                <input type="text" class="form-control" id="exampleInputPassword1" placeholder="Enter Course Name" name="cname" value="<?php echo set_value('cname'); ?>">
                <div class="row-lg-6">
                    <?php echo form_error('cname'); ?>
                </div>
            </div>
         <!--   <div class="form-group">
                <label for="exampleInputPassword1">Select Student Photo</label>
                <input type="file" class="form-control" id="exampleInputPassword1" placeholder="Enter Course Name" name="photo">
                <div class="row-lg-6">
                    <?php echo form_error('photo'); ?>
                </div>
            </div> -->
            <div class="form-group">
                <label for="exampleInputPassword1">Select Image</label>
                <?php echo form_upload(['name' => 'userfile','class'=>'form-control']); ?>
                 <div class="row-lg-6">
                    <?php if(isset($upload_error))
                    {
                        echo $upload_error;
                    } ?>
                </div>
            </div>


            <h4 align="center" style="margin-left: -150px"><button type="submit" class="btn btn-primary">Register</button></h4>
            <h4 align="center" style="margin-top: -43px;margin-left: 200px"><button type="reset" class="btn btn-primary">Reset</button></h4>
        </fieldset>
    </div>
</div>

мой файл контроллера: -

 public function insertstudent()
{
    $this->form_validation->set_rules('fname', 'FirstName', 'required|alpha');
    $this->form_validation->set_rules('lname', 'lastName', 'required|alpha');
    $this->form_validation->set_rules('add', 'Address', 'required');
    $this->form_validation->set_rules('cno', 'Contact Number', 'required|numeric');
    $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
    $this->form_validation->set_rules('cname', 'Course Name', 'required');
   // $this->form_validation->set_rules('userfile', 'Student Photo', 'required');
    $this->form_validation->set_error_delimiters("<p class='text-danger'>", "</p>");
    $config['upload_path'] = base_url('asset/uploads/');
    $config['allowed_types'] = 'gif|jpg|png';

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

        if ($this->form_validation->run() == TRUE && $this->upload->do_upload('userfile')) {
            $post = $this->input->post();
            $data = $this->upload->data();  

            $image_path = base_url("upload/".$data['raw_name'].$data['file_ext']);
            $post['image_path'] = $image_path;
            $this->load->model('useradd');
            if($this->useradd->addstudent($post)){

                 $this->session->set_flashdata('success', 'Record Successfully Inserted');
                 return redirect('admin');
              }else {
                 $this->load->view('addstudent');
             }

            // $data = array(
            //     'firstname' => $this->input->post('fname'),
            //     'lastname' => $this->input->post('lname'),
            //     'address' => $this->input->post('add'),
            //     'phone' => $this->input->post('cno'),
            //     'email' => $this->input->post('email'),
            //     'course' => $this->input->post('cname'),
            //     'photo' => $image_path,
            // );

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

            // if ($result == true) {
            //     $this->session->set_flashdata('success', 'Record Successfully Inserted');
            //     return redirect('admin');
            // } else {
            //     $this->load->view('addstudent');
            // }


        } else {
            $upload_error = $this->upload->display_errors();
            $this->load->view('addstudent',compact('upload_error'));
        }

    }

моя модель: -

class useradd extends CI_Model
{

function addstudent($data)
{
      $result = $this->db->insert('add_student', $data);
}
}

Моя ошибка:

Путь загрузки не является действительным.

1 Ответ

0 голосов
/ 24 сентября 2019

Попробуйте этот код для загрузки изображения.и удалите тег формы в вашем файле просмотра, и вы не определили метод form_close в конце формы вашего файла просмотра

 $file = $_FILES['filename']['name'];
        $config['upload_path'] = './images/';
        $config['allowed_types'] = 'gif|jpg|png';
        $this->load->library('upload', $config);
        $this->upload->do_upload();
        $allData = $this->upload->data();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...