Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何获取文件名&;Codeigniter中上载文件的扩展名?_Php_Codeigniter - Fatal编程技术网

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