我在使用 Codeigniter 时遇到了问题,并且在上传过程中从它必须提供的上传库中获取要重命名的文件。现在在任何人说之前,我不是在寻找“加密”文件名。
我的问题是在上传图像时,您可以处理很多类型的图像。那么如何使用file_name
config 选项将文件名更改为特定的模式(我已经有模式部分并正在工作)。但保持相同的文件类型?
现在我正在尝试
$upload_config['file_name'] = $generated_filename_from_schema
唯一的问题是$generated_filename_from_schema
没有文件扩展名,并且将文件扩展名排除在等式 CI 之外似乎完全忽略了它,并且如果文件具有相同的名称,它只会获取文件和 append_1、_2、_3,否则它只是保持名称不变。
现在我必须将它传递$config
给 CI,这样它才能上传文件,但是我如何在它尝试上传之前确定我正在使用哪种文件,以便我可以使用我的名称生成模式。
*编辑*
$upload_config['upload_path'] = realpath(APPPATH.'../images/');
$upload_config['allowed_types'] = 'gif|jpg|png';
$upload_config['max_size'] = 0;
$upload_config['max_width'] = 0;
$upload_config['max_height'] = 0;
$upload_config['remove_spaces'] = true;
$upload_config['file_name'] = $this->genfunc->genFileName($uid);
if($this->input->post('uploads'))
{
$this->load->library('upload');
$this->upload->initialize($upload_config);
if (!$this->upload->do_upload())
{
//echo 'error';
echo $config['upload_path'];
$this->data['errors'] = $this->upload->display_errors();
}
else
{
//echo 'uploaded';
$this->data['upload_data'] = $this->upload->data();
}
}