У меня действительно странная проблема. Я использую класс загрузки CodeIgniter для управления загрузкой простого jpg-изображения. Если я загружу файл с расширением .JPG, даже если я установил свойство file_ext_tolower в TRUE, мой файл будет загружен с расширением .JPG. Которого я не хочу! Вот какой-то код.CodeIgniter Загрузить Класс file_ext_tolower не работает, даже на localhost
$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 как на сервере, так и на localhost. Есть предположения? На сервере я также включил расширение fileinfo в php.ini.
Другое дело, что это приносит, что..если у меня есть файл с именем myfile.JPG и myfile.jpg, CodeIgniter не может видеть, что это тот же самый файл .., который в конечном итоге был бы вероятным он работает, если только file_ext_tolower работает правильно.
На сервере myfile.JPG сохраняется как myfile.JPG. Я думаю, что когда file_ext_tolower установлен в TRUE, он должен сохранить как myfile.jpg ... и в конечном итоге, прежде чем это сделать, на самом деле искать другой файл с этим именем .. если файл с этим именем уже находится на сервере, он должен следовать за : перезаписывать: либо переписать его, либо переименовать с прогрессивным номером.
Учитывается ли это решение, чтобы проверить, существует ли файл с указанным новым именем на сервере? Потому что я вижу код, но я не вижу строки, которая должна проверять это. Важно, чтобы он проверял файл с тем же именем и НЕ перезаписывал его. – user1447316
Также .. я вижу, что вы снова используете file_ext_tolower. Но в вопросе, который я сказал, это НЕ РАБОТАЕТ. Если бы он работал правильно, мне бы не понадобилось все это обходное решение. Вот в чем дело. – user1447316
попробуйте этот код :) –