我在Codeigniter中有一个表单,我在其中上传文件。如果文件名包含空格,例如: images(1).jpg ,那么它将作为 images_(1).jpg 上传到安全文件夹中。怎么避免这个?我想使用相同的图片名称上传它,例如: images(1).jpg 。
我在访问文件名时使用了trim()
:
$thumbfile=trim($_FILES['thumb_image']['name']);
对于文件上传,我使用了以下代码部分:
$config1['upload_path'] = './secure/'.$lastid;
$ext = end(explode(".", $_FILES['thumb_image']['name']));
$config1['file_name'] = trim($_FILES['thumb_image']['name']);
$config1['allowed_types'] = 'jpg|png|jpeg|gif|bmp|jpe|tiff|tif';
$this->load->library('upload', $config1);
任何人都可以帮我解决这个问题。提前谢谢。
答案 0 :(得分:4)
尝试$config['remove_spaces'] = FALSE;
否则,请查看核心上传库,您可以在$this->file_name = preg_replace("/\s+/", "_", $this->file_name);
方法中看到do_upload
可以更改的内容。