开发者

Changing name of the uploaded file in CodeIgniter (dots & underscores)

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.

        开发者_Python百科$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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜