Ответ на ваш прямой вопрос: нет, нет способа сделать это без переопределения ядра
К хорошей новости, вы можете избежать взлома ядра, за руководство
В качестве дополнительного бонуса CodeIgniter позволяет расширять ваши библиотеки
нативные классы, если вам просто нужно добавить некоторые функции
существующая библиотека. Или вы можете даже заменить родные библиотеки просто
поместив версии с одинаковыми именами в папку приложения / библиотеки.
Итак, для замены вашей библиотеки вы можете скопировать Upload.php в
.
application/libraries
, а затем добавьте свою пользовательскую логику в этот файл Upload.php. Code Igniter будет включать этот файл всякий раз, когда вы загружаете библиотеку загрузки.
Кроме того, вы можете создать свой собственный класс загрузки, который расширяет оригинал и улучшает только функцию is_allowed_filetype.
application/libraries/MY_Upload.php
class MY_Upload Extends CI_Upload{
function is_allowed_filetype(){
//my custom code here
}
}
Вы захотите прочитать список изменений при каждом обновлении, но это позволит вам сохранить свой код и основной код в отдельных юниверсах.