我在更改上传文件的名称时遇到了一些问题:
$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();
但是,当我检查我的文件名时,它会显示我
a.s_.d_.f_.mp3
为什么 CodeIgniter 在第一个点之后的每个点之前添加下划线?我怎么能禁用这个?
谢谢你。
已添加
好吧,我找到了解决方案。 system->libraries->Upload.php 文件。
第 994 行,_prep_filename() 函数。
$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;
}
}
最佳答案
尝试添加 'remove_spaces' => FALSE
到您的配置数组,看看是否可以解决问题。这默认设置为 TRUE,但它应该只用下划线替换空格。这可能是文件上传类的 CI 错误。
关于codeigniter - 在 CodeIgniter 中更改上传文件的名称(点和下划线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728059/