Codeigniter重命名图像文件不起作用

问题描述 投票:0回答:1

我正在使用codeigniter,我正在尝试上传图像文件。

一切正常,但我无法将上传的文件名更改为自定义名称。

过去5个小时我都尝试了一切,没有任何工作。

如果有人可以提供帮助,那就太好了。

我只需要将上传的文件重命名为custom_name.jpg

Controller file

 public function uploadimage() {

     $config['overwrite'] = TRUE;
     $config['file_name'] = 'custom_name.jpg';
     $config["allowed_types"] = 'jpg|jpeg|png|gif';
     $config['upload_path'] = './uploads/';

     $config["max_size"] = 1024;
     $config["max_width"] = 400;
     $config["max_height"] = 400;
     $this->load->library('upload', $config);

    if(!$this->upload->do_upload()) {               
        $this->data['error'] = $this->upload->display_errors();
    } else {
        echo "success";                                      
    }  

}

VIEW file

<?php echo form_open_multipart('admin/uploadimage'); ?>    
<?php echo form_upload('userfile'); ?><br />
<?php echo form_submit('upload', 'Upload');?>    
<?php echo form_close(); ?>
php codeigniter
1个回答
1
投票

只需从file_name中删除自定义扩展名并附加上传文件的扩展名。

public function uploadimage() {

 $config['overwrite'] = TRUE;
 $config['file_name'] = 'custom_name';
 $config["allowed_types"] = 'jpg|jpeg|png|gif';
 $config['upload_path'] = './uploads/';

 $config["max_size"] = 1024;
 $config["max_width"] = 400;
 $config["max_height"] = 400;
 $this->load->library('upload', $config);

if(!$this->upload->do_upload()) {               
    $this->data['error'] = $this->upload->display_errors();
} else {
    echo "success";                                      
}  

}

成功上传后,您还可以使用rename函数重命名文件。

还要检查这些。

上传目录是可写的,路径可以是绝对路径或相对路径。

如果您自动加载类initialize(),请通过调用$this->upload->initialize($config)方法设置首选项

您对文件大小有一些限制,还会检查图像大小。

© www.soinside.com 2019 - 2024. All rights reserved.