загрузка изображения codeigniter (получить зашифрованное имя) - PullRequest
2 голосов
/ 14 января 2011

Я хочу загрузить изображения на свой сервер, и он работает нормально, и я зашифровал имя на изображениях.

Но теперь я хочу обновить таблицу пользователей в моей базе данных, чтобы я мог показать изображение в профиле пользователей.

Моя проблема в том, что я не могу узнать, как вставить зашифрованное имя изображения в таблицу базы данных, называемую «пользователи», а поле войлока в таблице пользователей - «profile_picture».

Я пробовал это

$profilBilledNavn = $this->upload->data('file_name');
$this->db->where('username', $this->input->post('username'));
$this->db->update('users', $profilBilledNavn); 

но это не работает. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 14 января 2011

Вы должны показать нам некоторый код, но в любом случае вам нужно установить encrypt_name при загрузке файла:

$config['encrypt_name'] = TRUE;

EDIT:
На основании вашего обновления ваш код должен выглядеть так:

$profilBilledNavn['profile_picture'] = $this->upload->data('file_name');
$this->db->where('username', $this->input->post('username'));
$this->db->update('users', $profilBilledNavn);

РЕДАКТИРОВАТЬ 2:
Обратите внимание, что $this->upload->data() вернет массив , содержащий информацию о загруженном файле, см. .
Итак, что вам нужно сделать, это:

$file_array = $this->upload->data('file_name');

и затем используйте:

$profilBilledNavn['profile_picture'] = $file_array['file_name'];

Теперь обратите внимание на документацию:

file_name Имя файла, который был загружен вместе с файлом расширение.
orig_name оригинал имя файла. Это полезно только если вы используйте опцию зашифрованного имени.

Таким образом, поскольку вы используете encrypt_name, вы должны использовать первую опцию (file_name) для обновления вашей БД.

0 голосов
/ 14 января 2011

Обратитесь сюда для большей ясности

http://codeigniter.com/user_guide/libraries/file_uploading.html

Допустим, у вас есть данные для загрузки в массиве upload_data.

Загрузить базу данных класса

$ this-> load-> база данных ();

затем в модели или контроллере.

вставляет в поле cryptedname в вашей таблице

$ cryptednamme = $ Upload_data [ 'имя_файла']; $ This-> db-> набор ( 'cryptedname', $ Cryptedname);

Вставьте в таблицу изображение

$ this-> db-> вставка ( 'изображение');

...