使用include_once,require_once时出现phpexcel错误?

时间:2013-10-11 04:45:30

标签: phpexcel

我在我的项目中使用phpexcel,如果我通过我的函数调用我的类,excel文件无法打开 我打电话给我的班级:

$Model = loadModel('cpm','cpm',$this->registry);

我的功能:

function loadModel($com='',$class_name='',$registry=null) {
if (empty($com)){
    $com = 'admin';
}
$filename = strtolower($class_name) . '.class.php';
$file = PATH_MODEL.DS.$com.DS.$filename;

if (file_exists($file) == false){
    return false;
}
require_once($file);
if($registry != NULL){
    $model = new $class_name($registry);
}else{
    $model = new $class_name;
}
return $model;

}

当我改为

/*require_once($file);
if($registry != NULL){
    $model = new $class_name($registry);
}else{
    $model = new $class_name;
}*/
$model=true;
return $model;

它的工作原理。在我的项目中,我使用自动加载:

function __autoload($class_name) {
/*** get the component from the url ***/
$com = (empty($_GET['com'])) ? '' : $_GET['com'];

if (empty($com)){
    $com = 'admin';
}
$filename = strtolower($class_name) . '.class.php';
$file = PATH_MODEL.DS.$com.DS.$filename;

if (file_exists($file) == false){
    return false;
}
requine_once ($file);

}

我不确定这是不是理由。 我没有在日志中发现任何错误。 任何帮助,谢谢。

我发现如果我在控制器中需要(一次)或包含(一次)文件,excel文件将无法打开。

class excelController extends baseController {
public function index(){
    require('abc.class.php');
    $this->registry->template->show('excel', false);    
}

}

1 个答案:

答案 0 :(得分:0)

您的自动加载器可能与PHPExcel的自动加载器发生冲突。有关使用spl_autoload_register()注册自己的自动加载器的建议,请参阅开发人员文档的第3.2节(标题为“Lazy Loader”),以便两者可以共存

相关问题