CodeIgniter上载库不返回文件扩展名

时间:2014-02-05 22:53:36

标签: php mysql codeigniter upload

出于某种原因,Stack Overflow正在删除此第一行,我首先说你好,谢谢你的回顾。

正如标题所示Code Igniter没有返回文件扩展名类型。我试过了

$upload_data = $this->upload->data();

    $ext = $upload_data['file_ext']; 

但它返回一个空字符串。

如果我获得var dump $ upload_data,你可以看到它没有文件类型。这是一个错误吗?我错过了什么吗?其他一切按预期工作,但我无法检索文件扩展名以便将其放入数据库。

array (size=14)
  'file_name' => string '123456' (length=6)
  'file_type' => string '' (length=0)
  'file_path' => string 'uploads/' (length=8)
  'full_path' => string 'uploads/123456' (length=14)
  'raw_name' => string '123456' (length=6)
  'orig_name' => string '' (length=0)
  'client_name' => string '' (length=0)
  'file_ext' => string '' (length=0)
  'file_size' => string '' (length=0)
  'is_image' => boolean false
  'image_width' => string '' (length=0)
  'image_height' => string '' (length=0)
  'image_type' => string '' (length=0)
  'image_size_str' => string '' (length=0)

文件重命名:

     /altering file name to user input
        $str = $this->input->post('filename');
        $config['file_name'] = $str;
   //adding name to DB
    $imagename = $str;

    $this->Image_model->addImage($imagename, $imageurl);

为了澄清我的查询,我希望能够检索文件扩展名,以便我可以将其URI(URL?)存储在数据库中,这样我最终可以在数据库中填入包含图像的下拉列表。

1 个答案:

答案 0 :(得分:0)

无论您使用任何lib,都可以使用pathinfo( $imagename, PATHINFO_EXTENSION )来扩展文件。

示例:

$link = 'base.mini.css';

if( pathinfo( $link, PATHINFO_EXTENSION ) == 'css' ){

echo "css file";

}else{

echo "file ext is :".pathinfo( $link, PATHINFO_EXTENSION );
}

请注意,在您提供的示例中,文件名不包含和扩展名!所以codeigniter无法找出该文件的扩展名是正常的!