Moodle 加载白页 TCPDF
Moodle loads white page TCPDF
我想在 Moodle 中生成自定义 PDF(然后使用每门课程的数据进一步开发它)。我阅读了 TCPDF
的示例,但系统每次在尝试测试它们时都会抛出 error
。
在 printpdf.php
在我的 local
folder
我有:
require_once ('/tcpdf.php');
$pdf = new TCPDF(P, 'mm', 'A4', true, 'UTF-8', false);
$pdf->SetTitle('Example');
$pdf->SetProtection(array('modify'));
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetAutoPageBreak(false, 0);
$pdf->AddPage();
尝试调用页面 mymoodle/local/custom/classes/printpdf.php
时,它显示:
Warning: require_once(/tcpdf.php): failed to open stream: No such file or directory in C:\xampp\htdocs\mymoodle\local\custom\classes\local\printpdf.php on line 24
Fatal error: require_once(): Failed opening required '/tcpdf.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\mymoodle\local\custom\classes\local\printpdf.php on line 24
先尝试加载配置文件
require_once('../../../../config.php');
然后加载相对于lib目录的库
require_once($CFG->libdir . '/tcpdf.php');
您不应直接在 Moodle 中使用 TCPDF 库 - 对此有一个包装器可以使其正常工作。
require_once(dirname(__FILE__).'/../../../../config.php');
require_once($CFG->libdir.'/pdflib.php');
$pdf = new pdf();
请注意,您可能需要调整第一行中“/../”的数量,具体取决于您在顶级目录下的嵌套深度。
另请注意,您似乎已将代码放在 'classes' 目录中,而没有定义 PHP class;最终用户直接访问的脚本应该放在插件的 classes 目录之外。
我想在 Moodle 中生成自定义 PDF(然后使用每门课程的数据进一步开发它)。我阅读了 TCPDF
的示例,但系统每次在尝试测试它们时都会抛出 error
。
在 printpdf.php
在我的 local
folder
我有:
require_once ('/tcpdf.php');
$pdf = new TCPDF(P, 'mm', 'A4', true, 'UTF-8', false);
$pdf->SetTitle('Example');
$pdf->SetProtection(array('modify'));
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetAutoPageBreak(false, 0);
$pdf->AddPage();
尝试调用页面 mymoodle/local/custom/classes/printpdf.php
时,它显示:
Warning: require_once(/tcpdf.php): failed to open stream: No such file or directory in C:\xampp\htdocs\mymoodle\local\custom\classes\local\printpdf.php on line 24
Fatal error: require_once(): Failed opening required '/tcpdf.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\mymoodle\local\custom\classes\local\printpdf.php on line 24
先尝试加载配置文件
require_once('../../../../config.php');
然后加载相对于lib目录的库
require_once($CFG->libdir . '/tcpdf.php');
您不应直接在 Moodle 中使用 TCPDF 库 - 对此有一个包装器可以使其正常工作。
require_once(dirname(__FILE__).'/../../../../config.php');
require_once($CFG->libdir.'/pdflib.php');
$pdf = new pdf();
请注意,您可能需要调整第一行中“/../”的数量,具体取决于您在顶级目录下的嵌套深度。
另请注意,您似乎已将代码放在 'classes' 目录中,而没有定义 PHP class;最终用户直接访问的脚本应该放在插件的 classes 目录之外。