我正在使用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(); ?>
答案 0 :(得分: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)
方法来设置首选项
您对文件大小有一些限制,还请检查图像大小。