Обновление изображения со случайным уникальным именем и пути загрузки с базой данных не работает - PullRequest
0 голосов
/ 18 апреля 2020

Я использую codeigniter и хочу обновить изображение со случайным уникальным именем, загрузить путь с базой данных, но не работает

Я хочу обновить изображение с codeigniter, но не работает нормально. Я делюсь моделью кода. имя вкладки dpr_user и имя поля user_pi c,

представление формы

страница просмотра формы работает нормально, вот код, который я использую для формы модели

    <form method="post" action="<?php echo base_url() ?>update_picture" enctype="multipart/form-data">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <h3 class="modal-title">Change Profile Picture</h3>
        </div>

        <div class="modal-body">

        <div class="form-group">
            <label>Upload New Profile Picture</label>
            <input type="file" name="image_file" id="image_file" size = "20" class="form-control"/> 
        </div>

        <input type="hidden" id="picture_id" class="form-control">

    <div class="modal-footer">

        <input type="submit" value="Submit"> 
        <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>

        </div>
   </form>

Модель

function update_picture()  
    {  

        $db2 = $this->load->database('dpr',TRUE);

         if(isset($_FILES["image_file"]["name"]))  
         {  
              $config['upload_path'] = './upload/userimage/';  
              $config['allowed_types'] = 'jpg|jpeg|png|gif';  
              $this->load->library('upload', $config);  
              if(!$this->upload->do_upload('image_file'))  
              {  
                  $error =  $this->upload->display_errors(); 
                  echo json_encode(array('msg' => $error, 'success' => false));
              }  
              else 
              {  
                    $data = $this->upload->data();
                    $userpic = $data['name'];
                    $db2 = $this->load->database('dpr',TRUE);
                    $id = $this->input->post('picture_id');
                    $today_date = date('d-m-Y');

                    $update =$db2->query('UPDATE dpr_user SET user_pic="'.$userpic.'" ,updated="'.$today_date.'" WHERE id = "'.$id.'"');
                    return $update;

              }  
         }  
    } 

1 Ответ

1 голос
/ 18 апреля 2020

Добавьте эти строки

$extension = pathinfo($FILES["image_file"]["name"], PATHINFO_EXTENSION); // <<this
$config['upload_path'] = './upload/userimage/';  
$config['allowed_types'] = 'jpg|jpeg|png|gif';  
$config['file_name'] = rand(100,10000).time().".".$extension; //<<and this
$this->load->library('upload', $config);  

Ссылка: Класс загрузки файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...