Привет всем. Я полностью застрял в этой проблеме.
Я хочу добавить имя файла, который я изменил, используя функцию «переименовать» в codeigniter, в массив, а затем отправить этот массив в модель, гдеЯ могу извлечь его и добавить в него свою базу данных.
Однако, когда я делаю это, значение, добавленное в мою базу данных для имени файла, всегда приходит как «1».
Вот мой код,в него я загружен и файл.
Это часть класса контроллера с изменением и добавлением имени файла в массив
$data = array('upload_data' => $this->upload->data()); // Get the file from the form userfile information
$file = $data['upload_data']['file_name'];
//hacky name generator
$randomstring = random_string('alnum', 4);
$filenew = rename($dir . $file, $dir . $id . '_' . $randomstring . '.jpg'); //basic php rename call, rename my upload now that upload finished
// this array is all the other values from my form fields
$data = array($this->input->post('comment'), $filenew);
$configB['image_library'] = 'gd2'; // this code begins the thumbnail making process, from user guide
$configB['source_image'] = $filenew;//$dir . $id.'.jpg'; // I am using $id for image name, which is my users id, comes from the session
$configB['create_thumb'] = FALSE;
$configB['maintain_ratio'] = TRUE;
$configB['width'] = 300;
$configB['height'] = 300;
$this->image_lib->initialize($configB);
$this->image_lib->resize();
$this->load->model('membership_model');
// run my model which saves all this to the database, image name also ($filenew)
if($query = $this->membership_model->create_post($id,$data))
{
$data = array('upload_data' => $this->upload->data());
$data['filename'] = $filenew;
$this->load->view('post_success_view', $data);
}
Вот модель
function create_post($id, $data)
{
//get data from array
$content = $data[0];
$filename = $data[1];
// update database to track a new post.
$new_post_insert_data = array(
'content' => $content,
'beer_down' => 0,
'beer_up' => 0,
'user_name' => $this->session->userdata('username'),
'account_id' => $this->session->userdata('userid'),
'file_name' => $filename
);
$insert_post = $this->db->insert('post', $new_post_insert_data);
return $insert_post;
}
Спасибо заранее, еслиВы можете помочь мне застряли здесь на несколько часов.