出于某种原因,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?)存储在数据库中,这样我最终可以在数据库中填入包含图像的下拉列表。
答案 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无法找出该文件的扩展名是正常的!