6
我有一些問題,改變上傳的文件名:改變笨(點和下劃線)上傳的文件名
$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在第一個點之前的每個點之前都加下劃線?我如何禁用此功能? 謝謝。
ADDED
好吧,我找到解決方案。系統 - >庫 - > 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;
}
}
我只是看透了,發現也是如此。你在我面前。 :) – Fuseblown 2011-04-20 10:14:59
有沒有辦法得到這個效果而不直接修改系統文件? – maan81 2012-12-07 08:24:50
我試圖在我的文件名中使用點,但沒辦法,沒有CodeIgniter。所以當我指定'abcdefg.room.001.jpg'之類的東西時,它會自動重命名文件'abcdefg_room_001.jpg'。我寧願使用點,因爲我想做一些類似'explode(「。」,「abcdefg.room.001.jpg」);'否則,我必須使用strpos和substr更復雜的字符串操作。 – TARKUS 2016-04-05 18:57:57