我使用的是Yii框架,我必须加载PHPExcel类。
在我的main.php中,我将配置设置为
'import'=>array(
'application.models.*',
'application.components.*',
'application.extensions.*',
'ext.PHPExcel.PHPExcel',
),在Autoloader.php中,我编辑了寄存器函数,如下所示
public static function Register() {
$functions = spl_autoload_functions();
foreach($functions as $function)
spl_autoload_unregister($function);
$functions=array_merge(array(array('PHPExcel_Autoloader', 'Load')), $functions);
foreach($functions as $function)
$x = spl_autoload_register($function);
return $x;
}当我打电话给$objPHPExcel =new PHPExcel();的时候,它工作得很好,
但当我称$objDrawing = new PHPExcel_Worksheet_Drawing();为回报时
include(PHPExcel_Worksheet_Drawing.php): failed to open stream: No such file or directory我的目录结构是:
extensions
-----PHPExcel
-------PHPExcel
------ PHPExcel.php谢谢你的帮助
发布于 2014-01-21 08:26:20
如果此代码有效,请注意有双*
Yii::import('ext.PHPExcel.**', true);
$objDrawing = new PHPExcel_Worksheet_Drawing();
var_dump($objDrawing);在Yii测试版本: 1.1.13
发布于 2021-05-08 16:46:32
这个模块最初对我起作用。但是后来我加入了Yii2,花了很长时间来寻找解决这个问题的方法。对于那些发现这个主题的人,就像我所做的那样,并将Yii2添加到Yii1中,我将离开这个解决方案。
对我来说是第一次帮忙。
spl_autoload_unregister(['YiiBase', 'autoload']);
require_once Yii::app()->params['rootPath'] . '/PHPExcel/Classes/PHPExcel.php';
spl_autoload_register(['YiiBase', 'autoload']);当我添加Yii2时,我改变了
spl_autoload_unregister(['Yii', 'autoload']);
spl_autoload_unregister(['YiiBase', 'autoload']);
require_once Yii::app()->params['rootPath'] . '/PHPExcel/Classes/PHPExcel.php';
spl_autoload_register(['YiiBase', 'autoload']);
spl_autoload_register(['Yii', 'autoload']);并使用
$objPHPExcel = new \PHPExcel();https://stackoverflow.com/questions/21251906
复制相似问题