私はPHP Codeigniterを使ってプロジェクトを進めています。私は画像をアップロードし、画像の名前を変更し、データベースに保存したい(拡張子付き)。私は次のコードを書いています。それは完全に動作しますが、問題は、イメージ名がデータベースに拡張子なしで格納されていることです。たとえば、コードを実行すると、データベースに保存されている名前は 'imagename.jpg'または 'imagename.png'ではなく 'imagename'になります。私は拡張子をつけて完全な名前を保存したい。画像の名前を変更してデータベースに保存します。コードシニター
$this->upload->do_upload('profile_pic');
$image_name = $this->upload->data('file_name');
AS
これは私のコントローラである
public function FunctionName()
{
$fname = ucwords($this->input->post('fname'));
$lname = ucwords($this->input->post('lname'));
$prof_pic = $_FILES['profile_pic']['name'];
$config = array ('upload_path' => './images/students/',
'allowed_types' => "jpeg|jpg|png",
'overwrite' => TRUE,
'file_name' => $fname."_".$lname,
'remove_spaces' => TRUE,
'file_ext_tolower' => TRUE
);
$this->load->library('upload', $config);
$this->upload->do_upload('profile_pic');
$image_name = $config['file_name'].".".$config['file_type'];
$data = array('std_fname' => $std_fname,
'std_lname' => $std_lname,
'profile_pic' => $image
);
$this->General_Model->create_record($data, "table_name");
}
のファイル拡張子を持つ新しい名前を割り当てます以下のコード
で試してみてください'$ config'です。 – chris85