如何在 Codeigniter 中上传文件名时添加前缀?

Posted

技术标签:

【中文标题】如何在 Codeigniter 中上传文件名时添加前缀?【英文标题】:How can I add a prefix to a file name on upload in Codeigniter? 【发布时间】:2012-02-12 05:46:07 【问题描述】:

我的网站上有一个文件上传表单,我想在用户上传照片时在文件名的开头添加一个前缀。

我已经为上传设置了配置(见下文),但不确定如何设置前缀。

我最好不想打扰 ['encrypt_name'],因为这样可以节省我的时间和精力来制作唯一名称,但要在加密名称的开头添加前缀。我将在开头添加用户 ID。

    $config['upload_path'] = $upload_path;
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';
    $config['encrypt_name'] = true;

    $this->load->library('upload', $config);

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

使用 $this->upload->data() 获取文件名可能最简单,然后使用 php rename() 将 id 添加到开头。

类似这样的:

$upload_data = $this->upload->data();
rename(
    $upload_data['full_path'],
    $upload_data['file_path'].'/'.$user_id.'_'.$upload_data['orig_name']
);

【讨论】:

以上是关于如何在 Codeigniter 中上传文件名时添加前缀?的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter AJAX文件上传,上传时$_FILE为空

使用ajax在codeigniter中上传图片

如何在 [codeigniter] 中上传具有随机名称规则的图像

如何在codeigniter中上传多个/多个图像[重复]

如何在codeigniter中获取上传文件的完整路径?

在 Codeigniter 中上传 CSV 文件时出错