У меня есть загрузка файла blueimp, хорошо работающая с codeigniter. Я использую библиотеку UploadHandler как есть. Но я хочу расширить его, чтобы заменить две функции, которые создают уникальное имя файла. Код для этого в вики BlueImp Github.Codeigniter расширить Blueimp Загрузите библиотеку
Я создал расширенную библиотеку таким образом:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_UploadHandler extends UploadHandler {
public function __construct() {
parent::__construct();
$CI =& get_instance();
$CI->load->library('UploadHandler');
}
protected function upcount_name_callback($matches) {
$index = isset($matches[1]) ? intval($matches[1]) + 1 : 1;
$ext = isset($matches[2]) ? $matches[2] : '';
return '-'.$index.''.$ext;
}
protected function upcount_name($name) {
return preg_replace_callback(
'/(?:(?:-([\d]+))?(\.[^.]+))?$/',
array($this, 'upcount_name_callback'),
$name,
1
);
}
}
Когда я пытаюсь запустить его, я получаю сообщение «Не удается загрузить UploadHandler» ошибку. Если я удалю свое расширение MY, выполняется исходный код. Что не так с моим добавочным кодом? Разве это не лучший способ расширить библиотеки CI?
И, да, имя файла для моего файла MY_UploadHandler.php
Спасибо!
Я обнаружил, что проблема в моем родительском классе. Это никогда не создавалось должным образом. Благодаря! –