Загрузить и вставить данные файла в CodeIgniter

Я создаю систему загрузки файлов в CodeIgniter, и у меня есть форма, которая запрашивает имя файла перед загрузкой в ​​базу данных. Он использует мой контроллер для загрузки файла на сервер. В настоящее время контроллер работает, но мне нужно вставить имя файла в таблицу.

upload.php:

function do_upload()
{
    $config['upload_path'] = './gfiles/';
    $config['allowed_types'] = 'gif|jpg|jpeg|bmp|png|psd|pdf|eps|ai|zip|indd|qxt';
    $config['encrypt_name'] = 'TRUE';
    //$config['max_size']   = '100';

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

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

        $this->load->view('upload', $error);
    }   
    else
    {
        $data = array('upload_data' => $this->upload->data());

        $this->db->insert('files', $_POST);

    }
}

Есть ли у кого-нибудь указатели на то, как правильно ввести имя файла в базу данных? Приведенный выше код также шифрует имя файла. Спасибо.


person doubleplusgood    schedule 13.10.2009    source источник


Ответы (1)


$ data = array ('upload_data' => $ this-> upload-> data ()); должен содержать то, что вы ищете.

выполните print_r ($ data), и вы должны увидеть исходное зашифрованное имя файла.

person stef    schedule 13.10.2009
comment
Спасибо @stef. Он выводит все значения. Также имеется ошибка базы данных; Произошла ошибка базы данных. Для обновления записи необходимо использовать метод set. - person doubleplusgood; 13.10.2009
comment
Онлайн-руководство действительно на высшем уровне и простое для понимания, не забывайте проверять его время от времени :) - person stef; 13.10.2009
comment
@doubleplusgood Вы должны использовать метод set для обновления стека записей. Для этой проблемы вы должны установить FALSE для значения «db_debug» конфигурации базы данных: $ db ['default'] ['db_debug'] = FALSE; - person noelyahan; 12.03.2013