繁体   English   中英

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

[英]CodeIgniter Upload Library not returning file extension

由于某些原因,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?)存储在数据库中,以便最终可以在数据库中已经包含图像的下拉列表中进行填充。

您可以使用pathinfo( $imagename, PATHINFO_EXTENSION )来获取文件的扩展名,而不管您是否使用任何lib。

例如:

$link = 'base.mini.css';

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

echo "css file";

}else{

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

但请注意,在您提供的示例中,文件名不包含扩展名! 所以正常的情况是codeigniter找不到该文件的扩展名!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM