我想重命名一个图像文件并将文件位置保存在数据库中。重命名文件的名称编号
----------------------------------------
| id | name | category | image |
----------------------------------------
| 1 | foo | category | uploads/1.jpg |
----------------------------------------
的:我正在上传并插入我想看看我的表像这样以后有问题与它的问题,因为我想给文件命名为表行我在插入的id 。 id字段自动递增。 这里是我为它的代码:
function service()
{
$con=$this->do_upload();
$id=mysql_insert_id();
$data=array(
'name'=>$this->input->post('name'),
'category'=>$this->input->post('category'),
'image'=>'uploads/'.$id.$con['file_ext'];
);
$query=$this->db->insert('table',$data);
return $query;
}
这不是正确的方法和假设的文件没有保存在数据库中保存wanted.instead它,因为它被保存“上传/ 1.JPG”的作为'uploads/0.jpg'。
任何人都可以为我提供正确的约定吗? n.b.我正在使用codeigniter 2.1.0和mySQL数据库。
我们假设你知道你错过了'$''上con' - >'$ ID。con ['file_ext'];' – 2012-02-13 13:31:58
函数'do_upload()'发生了什么?如果连接关闭或其他数据库操作发生,您可能会丢失'INSERT_ID' – 2012-02-13 13:33:11
文件名不应包含“upload /”,可能您将所有文件保存在该目录中,因此将该文件命名为“image1.jpg” – 2012-02-13 13:34:24