Cas*_*itz 2 php silverstripe phpexcel
我试图将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;
}
Run Code Online (Sandbox Code Playgroud)
根据错误,路径是正确的(即保存的位置),但文件不存在.我也以同样的方式要求文件,没有运气
require_once Director::baseURL().'mysite/AddOns/PHPExcel/Classes/PHPExcel.php';
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一切 - 检查文件权限,引用父文件夹../../,直接调用它AddOns/PHPExcel,将其移动到这个新的AddOns文件夹(首先尝试将PHPExcel类放在root上,发现Silverstripe不读它:))
我知道我做错了什么,但对于我的生活,我看不出是什么.请帮忙
谢谢
BASE_PATH 是访问Web根文件夹的最佳方式.
require_once(BASE_PATH . '/AddOns/PHPExcel/Classes/PHPExcel.php');
Run Code Online (Sandbox Code Playgroud)
这也只是一个问题,如果你不使用作曲家,以正确的方式解决这个问题你应该使用作曲家.
您应该考虑使用composer来包含PHPExcel类,这将避免手动require使用类并且将帮助您进行依赖项管理.
composer require phpoffice/phpexcel
Run Code Online (Sandbox Code Playgroud)