我想重命名一個圖像文件並將文件位置保存在數據庫中。重命名文件的名稱編號
----------------------------------------
| 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