Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przesyłanie obrazu do obiektu blob bazy danych MySQL w codeigniter

$this->input->post('photo') w modelu nie będzie działać, aby pobrać informacje o obrazie. Ponieważ obrazy są przechowywane w $_FILES, a nie w $_POST. Musisz więc użyć biblioteki przesyłania w koedukatorze jak poniżej.

public function update_profile() {
       $id = $this->session->userdata('id');
       $this->load->model('edit_profile_model');

       $config['upload_path'] = './uploads/';
       $config['allowed_types'] = 'gif|jpg|png';
       $config['max_size']  = '100';
       $config['max_width'] = '1024';
       $config['max_height'] = '768';

       $this->load->library('upload', $config);
       $this->upload->do_upload();//upload the file to the above mentioned path
       $this->edit_profile_model->update_db_user_info($id, $this->upload->data());// pass the uploaded information to the model
   } 
public function update_db_user_info($id, $imgdata) {
       $imgdata = file_get_contents($imgdata['full_path']);//get the content of the image using its path
       $data = array(
           'fullname' => $this->input->post('fullname'),
           'address' => $this->input->post('address'),
           'state' => $this->input->post('state'),
           'city' => $this->input->post('city'),
           'pincode' => $this->input->post('pincode'),
           'image' => $imgdata,
       );
       $this->db->where('id', $id);
       $this->db->update('userdetails', $data);
   } 

Aby pobrać obraz, napisz funkcję w modelu, jak poniżej.

public function get_image($id){
       $this->db->where('id', $id);
       $result = $this->db->get('userdetails');
       header("Content-type: image/jpeg");
       echo $result['image'];
}

A także nie jest dobrą praktyką przechowywanie obrazu i pobieranie z bazy danych. Zamiast tego spróbuj przechowywać obraz w folderze i zapisz ścieżkę w bazie danych, jak poniżej.

public function update_db_user_info($id, $imgdata) {
       $imgdata = $imgdata['full_path'];// get the path of the image
       $data = array(
           'fullname' => $this->input->post('fullname'),
           'address' => $this->input->post('address'),
           'state' => $this->input->post('state'),
           'city' => $this->input->post('city'),
           'pincode' => $this->input->post('pincode'),
           'image' => $imgdata,// change the type of image from blob to varchar or text
       );
       $this->db->where('id', $id);
       $this->db->update('userdetails', $data);
   } 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie są różnice między utf8_general_ci a utf8_unicode_ci?

  2. mySQL wybierz W zakresie

  3. Replikacja MySQL i przełączanie awaryjne oparte na GTID — szczegółowe informacje o błędnych transakcjach

  4. Warunkowe w MYSQL gdzie klauzula

  5. Jak wyeksportować / zrzucić tabelę MySql do pliku tekstowego, w tym nazw pól (czyli nagłówków lub nazw kolumn)