2014-09-29 127 views
1

2010年提出了这个问题。我看到一个相关的问题,但2010年推荐的解决方案不能解决它。类/ PHPExcel_Shared_String.php):未能打开流

我使用PHPExcel v 1.8.0(2014年3月)

原始答复提出的建议已纳入和系统的其余部分仍正常工作,比如我有一个的init.php文件

function myAutoload($Class) 
{ 
    require_once 'Classes/' . $Class . '.php'; 
} 
spl_autoload_register('myAutoLoad') 

所有{classes.php}文件都在类别/文件夹关闭文档根,当然包括PHPExcel.php的:所建议在早期交被带在每凭证包括以下。 PHPExcel文件夹也包含在Classes /文件夹中。

我试图旋转起来PHPExcel,包括平时

$spreadsheet = new PHPExcel; 

作为替代我也试着定义一个表格类

Class Spreadsheet extends PHPExcel {.... } 

他们都产生相同的错误切割的各种方法和粘贴到上面

我已经成功地将应用程序中的其余过程从程序风格移植到面向对象的系统他们已经花了数周时间,这非常值得。然而,PHPExcel的最后一个障碍让我变得狡猾!

任何建议,将不胜感激

回答

2

修改磁带自动加载机返回一个错误,如果它不能加载指定的文件:

function myAutoload($Class) 
{ 
    if (file_exists('Classes/' . $Class . '.php')) { 
     require_once 'Classes/' . $Class . '.php'; 
     return true; 
    } 
    return false; 
} 

这样的话,会自动加载从通过自己的自动加载和执行如果它没有通过自己的自动加载器找到请求的文件,则在“队列”(PHPExcel自动加载器)中的下一个自动加载器。如果您不返回false SPL自动加载机处理程序不会打扰任何其他“排队”自动加载机工作

+0

辉煌!它与if()语句行中明显的额外括号对完美协作。 – 2014-09-29 15:28:48

+0

懊恼自己失去了大括号....现在加了他们 – 2014-09-29 15:33:59

相关问题