【发布时间】:2018-11-06 09:25:18
【问题描述】:
我正在使用 codeigniter,我正在尝试上传图像文件。
一切正常,但我无法将上传的文件名更改为自定义名称。
过去 5 小时我已经尝试了所有方法,但没有任何效果。
如果有人能帮忙,那就太好了。
我只需要将上传的文件重命名为custom_name.jpg
控制器文件
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";
}
}
查看文件
<?php echo form_open_multipart('admin/uploadimage'); ?>
<?php echo form_upload('userfile'); ?><br />
<?php echo form_submit('upload', 'Upload');?>
<?php echo form_close(); ?>
【问题讨论】:
-
来自 CI 页面:如果设置 CodeIgniter 会将上传的文件重命名为此名称。文件名中提供的扩展名也必须是允许的文件类型。如果未在原始文件名中提供扩展名,则将使用该文件名。因此,也许可以尝试先使用 PHP 获取上传的文件扩展名,并将其作为变量添加到 file_name 的末尾
-
@WKoppel - 请详细说明一下。
-
@NageshKatke - 这不是我想要的。您发送的链接是根据时间戳重命名文件。请阅读我的问题谢谢
-
@JackHanson 我在最后尝试了
$config['file_name'] = 'custom_name.jpg';,它工作正常,上传带有custom_name的文件。可能问题在于配置项的排序。
标签: php codeigniter