我试图将PHPExcel包含到Silverstripe 3网站中以导出Excel工作表。现在,我只是在尝试测试,但是在尝试执行此操作时出现此错误:


[警告] require_once(/sitename/mysite/AddOns/PHPExcel/Classes/PHPExcel.php):无法打开流:没有此类文件或目录


事实是,我知道此文件存在,因为我将其复制到自己身上并一遍又一遍地重新检查了路径。因此,我决定使用此代码“检查文件是否存在”:

    if(!file_exists(Director::baseURL().'mysite/AddOns/PHPExcel/Classes/PHPExcel.php')) {
        echo 'sdf';exit;
}


根据错误,路径是正确的(即保存位置),但是-文件不存在。我也以同样的方式要求文件,但没有运气

require_once Director::baseURL().'mysite/AddOns/PHPExcel/Classes/PHPExcel.php';


我尝试了所有方法-检查文件权限,使用../../引用父文件夹,像AddOns/PHPExcel一样直接调用它,将其移动到这个新的AddOns文件夹中(首先尝试将PHPExcel类放在根目录上,并发现Silverstripe无法读取然后:))

我知道我做错了事,但对于我的一生,我看不到什么。请帮忙

谢谢

最佳答案

BASE_PATH是访问Web根文件夹的最佳方法。

require_once(BASE_PATH . '/AddOns/PHPExcel/Classes/PHPExcel.php');


同样,这仅是一个问题,如果您不使用作曲家,则应以正确的方式use composer解决此问题。

关于php - require_once(PHPExcel/Classes/PHPExcel.php):无法打开流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38606574/

10-11 10:47