codeigniter图片上传(获取加密名称)

时间:2011-01-14 18:11:01

标签: database codeigniter submit

我想将图像上传到我的服务器,它工作正常,我已在图像上加密了名称。

但现在我想更新数据库中的用户表,以便在用户的个人资料中显示图像。

我的问题是我无法找到如何在名为“users”的数据库表中插入加密的图像名称,而users表中的毛毡字段是“profile_picture”。

我试过这个

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

但它不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您必须向我们展示一些代码,但无论如何您需要在上传文件时设置encrypt_name

$config['encrypt_name'] = TRUE;

编辑:
根据您的更新,您的代码应为:

$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()会返回数组,其中包含上传文件refer的信息。 所以你需要做的是:

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

然后使用:

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

现在请注意文档:

  

file_name 该文件的名称   上传了包括该文件   扩展。
   orig_name 原文   文件名。这仅在您有用时才有用   使用加密名称选项。

因此,由于您使用的是encrypt_name,因此您应该使用第一个选项(file_name)来更新数据库。

答案 1 :(得分:0)

请参阅此处以获得更清晰的信息

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

假设您在上传数据名为upload_data。

加载数据库类

  

$这 - >负载>数据库();

然后在模型或控制器中..

插入表格中名为cryptedname的字段

  

$ cryptednamme =   $ upload_data [ 'FILE_NAME'];   $这 - > DB->设置( 'cryptedname',   $ cryptedname);

插入名为image

的表格
  

$这 - > DB->插入( '图像');