簡體   English   中英

更改圖像名稱並使用php codeigniter將其存儲在數據庫中

[英]change image name and store it in database with php codeigniter

我正在使用PHP Codeigniter進行項目。 我想上傳圖像,更改圖像名稱,並將其存儲在數據庫中(帶有擴展名)。 我寫了下面的代碼。 它工作正常,但問題是圖像名稱存儲時沒有擴展名。 例如,當我運行代碼時,存儲在數據庫中的名稱是“ imagename”,而不是“ imagename.jpg”或“ imagename.png”。 我想存儲帶擴展名的全名。

這是我的控制器

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");
}

要獲取上傳的文件名,請使用

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

 $this->upload->do_upload('profile_pic');
 $image_name = $this->upload->data('file_name'); 

閱讀有關上傳文件的信息

嘗試以下代碼

$prof_pic = $_FILES['profile_pic']['name'];
$newName = "<Desired name>".".".pathinfo($prof_pic, PATHINFO_EXTENSION);
$config = array ('upload_path' => './images/students/',
    'allowed_types' => "jpeg|jpg|png",
    'overwrite' => TRUE,
    'file_name' => $newName, 
    'remove_spaces' => TRUE,
    'file_ext_tolower' => TRUE
);

$newName = "<Desired name>".".".pathinfo($prof_pic, PATHINFO_EXTENSION);

將使用實際文件的文件擴展名分配新名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM