I got some problems with changing name of uploaded file:
$config = array(
'allowed_types' => 'mp3',
'file_name' => $fulltitle, // Lets say we've entered 'a.s.d.f.mp3'
'upload_path' => './music/'
);
$this->load->library('upload', $config);
$this->upload->do_upload();
But, when I check my filename it shows me
a.s_.d_.f_.mp3
Why CodeIgniter add underscore before every dot after first one? How I can disable this? Thank you.
ADDED
Well I found solution. system->libraries->Upload.php file.
Line 994, _prep_filename() function.
$parts = explode('.', $filename);
$ext = array_pop($parts);
$filename = array_shift($parts);
foreach ($parts as $part)
{
if ( ! in_array(strtolower($part), $this->allowed_types) OR $this->mimes_types(strtolower($part)) === FALSE)
{
$filename .= '.'.$part.'_'; // Line 994
}
else
{
$filename .= '.'.$part;
}
}
Try adding 'remove_spaces' => FALSE
to your config array and see if that takes care of the problem. This is set to TRUE by default, but it should only be replacing spaces with underscores. It could be a CI bug with the file uploading class.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With