Codeigniter extend Blueimp Upload library



我有 blueimp 文件上传与代码点火器配合得很好。我按原样使用上传处理程序库。但我想扩展它以替换创建唯一文件名的两个函数。这个代码在BlueImp Github维基中。

我创建了一个扩展库,因此:

<?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
    );
}
}

当我尝试运行它时,出现"无法加载上传处理程序"错误。如果我删除我的 MY 扩展,原始代码将运行。我的扩展码有什么问题?这不是扩展 CI 库的正确方法吗?

而且,是

的,我的文件的文件名是MY_UploadHandler.php

谢谢!

我对此

点了一会儿,终于想通了。要扩展自定义库,您需要在定义类之前"要求一次"它正在扩展的文件。

前任:

require_once("UploadHandler.php");
class MY_UploadHandler extends UploadHandler
{
}

希望这有所帮助。

最新更新