PHP:如何获取文件名&;Codeigniter中上载文件的扩展名?
上传和重命名到数据库时,我只需要存储文件名+扩展名。我的问题是无法获取扩展名PHP:如何获取文件名&;Codeigniter中上载文件的扩展名?,php,codeigniter,Php,Codeigniter,上传和重命名到数据库时,我只需要存储文件名+扩展名。我的问题是无法获取扩展名 $new_file_name=date("mdY")."_".time(); $config['upload_path'] = './assets/images/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 2048; $config['
$new_file_name=date("mdY")."_".time();
$config['upload_path'] = './assets/images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 2048;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$config['file_name'] = $new_file_name;
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('uploadFile'))
{
$error = array('error' => $this->upload->display_errors());
var_dump($error);
}
else
{
$data = array('upload_data' => $this->upload->data());
var_dump($data);
echo $config['file_name'] . $config['file_ext'];
}
我的下一个问题是如何加载帮助器表单?或者需要加载表单才能使用库表单验证
$this->load->helper(array('form')); for ?
$this->load->library('form_validation'); this for validation rule
您可以使用此代码获取文件名
$file_name = $data['file_name'];
echo $file_name;
和文件扩展名
$ext = implode('.',$file_name);
echo $ext[1];
您可以使用此代码获取文件名
$file_name = $data['file_name'];
echo $file_name;
和文件扩展名
$ext = implode('.',$file_name);
echo $ext[1];
上载文件后,可以通过以下方式获取其属性:
$saved_file_name = $this->upload->data('file_name');
// will give you the filename along with the extension
如果要在上传文件之前获取文件扩展名,请使用core php:
$file_ext = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);
或者让它变得干净
$filename= $_FILES["file"]["name"];
$file_ext = pathinfo($filename,PATHINFO_EXTENSION);
上载文件后,可以通过以下方式获取其属性:
$saved_file_name = $this->upload->data('file_name');
// will give you the filename along with the extension
如果要在上传文件之前获取文件扩展名,请使用core php:
$file_ext = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);
或者让它变得干净
$filename= $_FILES["file"]["name"];
$file_ext = pathinfo($filename,PATHINFO_EXTENSION);
只需使用下面的代码作为图像名称的扩展名就可以解决这个问题
$config['file_name'].$this->upload->data('file_ext')
只需使用下面的代码作为图像名称的扩展名就可以解决这个问题
$config['file_name'].$this->upload->data('file_ext')
我也遇到了同样的问题,我刚刚解决了 我试图用这个来获取名称:$this->upload->data('file_name'); 但它总是空的,我刚刚发现在访问data()数组之前需要设置一些内容 当您的代码成功上载文件时,请键入:
$data=array('upload_data'=>$this->upload->data())代码>
之后,所有data()索引都可以访问,包括“file_name”。包含所有索引的列表在文档中:
附言:我知道这篇文章发表已经2年了,但是如果有人也坚持这篇文章的话,也许他们会觉得这很有帮助。我也遇到了同样的问题,我刚刚解决了
我试图用这个来获取名称:$this->upload->data('file_name');
但它总是空的,我刚刚发现在访问data()数组之前需要设置一些内容
当您的代码成功上载文件时,请键入:$data=array('upload_data'=>$this->upload->data())代码>
之后,所有data()索引都可以访问,包括“file_name”。包含所有索引的列表在文档中:
ps:我知道这篇文章已经发表了2年了,但是如果有人也坚持这篇文章的话,可能会觉得它很有用。自定义上传文件名codeigniter
首先可以在文件名中使用(.)进行分解,然后获取数组,然后使用函数end()捕获结束数组。
最后,我可以加入这个日期的文件名
$dname=explode(“.”,$\u文件['gambar']['name']);
$ext=end($dname);
$\u FILES['gambar']['name']=strtolower('fitur_h_'.date('YmdHis')。$ext);
//fitur_h_20200120143157.png//输出文件名
我希望我的回答能帮助您自定义上传文件名codeigniter
首先可以在文件名中使用(.)进行分解,然后获取数组,然后使用函数end()捕获结束数组。
最后,我可以加入这个日期的文件名
$dname=explode(“.”,$\u文件['gambar']['name']);
$ext=end($dname);
$\u FILES['gambar']['name']=strtolower('fitur_h_'.date('YmdHis')。$ext);
//fitur_h_20200120143157.png//输出文件名
我希望我的回答能对你有所帮助我知道现在已经太迟了,但我还是给出了答案
如果要获取图像扩展名,请使用带有pathinfo_扩展名参数的pathinfo函数。
例如
我知道这已经太晚了,但我仍在给出答案
如果要获取图像扩展名,请使用带有pathinfo_扩展名参数的pathinfo函数。
例如
可能的副本请参阅本用户指南:并使用此答案进行应用:您应该可以看到从$this->upload->data()创建的var_dump($data)中的所有文件属性。所以你只需要从中获取你想要的。@TimBrownlaw it work now echo$config['file_name']$这->上传->数据('file_ext');好东西:),你离得这么近!可能的副本请参阅本用户指南:并使用此答案进行应用:您应该可以看到从$this->upload->data()创建的var_dump($data)中的所有文件属性。所以你只需要从中获取你想要的。@TimBrownlaw it work now echo$config['file_name']$这->上传->数据('file_ext');好东西:),你离得这么近!它是爆炸而不是内爆的,如果文件名有“.”(点),它将不起作用。例如:abc.xyz.jpgit是explode而不是infraded,如果文件名有“.”(点),它将不起作用。例如:abc.xyz.jpg