上传时避免使用下划线替换文件名中的空格

时间:2014-04-28 12:28:23

标签: php codeigniter file-upload

我在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);

任何人都可以帮我解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:4)

尝试$config['remove_spaces'] = FALSE;

否则,请查看核心上传库,您可以在$this->file_name = preg_replace("/\s+/", "_", $this->file_name);方法中看到do_upload可以更改的内容。