我有一個非常奇怪的問題。我使用CodeIgniter上傳類來管理簡單jpg圖像的上傳。如果我上傳擴展名爲.JPG的文件,即使將屬性file_ext_tolower設置爲TRUE,我的文件也會以.JPG擴展名上傳。這是我不想要的東西!這裏有一些代碼..CodeIgniter上傳類file_ext_tolower不工作,即使在本地主機
$this->load->library('upload');
$config['upload_path'] = './resources/img/content';
$config['allowed_types'] = 'jpg';
$config['overwrite'] = FALSE;
$config['file_ext_tolower'] = TRUE;
$config['remove_spaces'] = TRUE;
$this->upload->initialize($config, true);
if (! $this->upload->do_upload('cover')) {
$this->session->set_flashdata('message','Cover: ' . $this->upload->display_errors());
redirect('admin');
break;
} else {
// Whatever
}
問題是,即使在本地主機上也不運行。它總是繼續並使用.JPG上傳文件。我只是無法理解。我在服務器和本地主機上都使用CodeIgniter 3.1.0。有什麼想法嗎?在服務器上,我還啓用了php.ini中的fileinfo擴展。
這帶來的另一件事是,如果我有一個名爲myfile.JPG和myfile.jpg的文件,CodeIgniter無法看到它們是相同的文件..最終可能是什麼它的確如果只有file_ext_tolower工作正常。
在服務器上,myfile.JPG被保存爲myfile.JPG。我認爲,當file_ext_tolower設置爲TRUE時,它應該保存爲myfile.jpg ...並且最終在這之前,實際上搜索具有該名稱的另一個文件..如果具有該名稱的文件已經在服務器上,則它應該按照覆蓋的設置:覆蓋它或用漸進號重命名。
此解決方案是否考慮檢查服務器上是否存在具有新名稱的文件?因爲我看到了代碼,但我沒有看到應該檢查的代碼行。它檢查具有相同名稱的文件並且不覆蓋它是很重要的。 – user1447316
也..我看到你再次使用file_ext_tolower。但是,在我說的問題中,這是不行的。如果它工作正常,我不需要所有的解決方法。這就是要點.. – user1447316
試試這個代碼:) –