2015-12-09 42 views
0

我希望在Moodle中引入自定義PDF(後來用每門課程的數據進一步開發它)。我閱讀TCPDF的示例,但系統在每次嘗試測試時都會拋出errorMoodle加載白頁TCPDF

printpdf.php在我localfolder我:

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 
+0

好像你沒有在'require_once('/tcpdf.php');' – santaka

+0

'中指定正確的相對路徑到庫文件夾中'TCPDF'庫的路徑是'mymoodle/lib/tcpdf/tcpdf .php',甚至'require_once('lib/tcpdf/tcpdf.php');'不起作用。 – freudsfreund

回答

2

你不應該在Moodle中直接使用TCPDF庫 - 這裏有一個包裝器,它允許它正常工作。

require_once(dirname(__FILE__).'/../../../../config.php'); 
require_once($CFG->libdir.'/pdflib.php'); 

$pdf = new pdf(); 

注意,你可能需要在第一線調整的「/../」的數量,取決於嵌套低於頂級目錄你有多深。請注意,您似乎已將代碼放入'classes'目錄中,而未定義PHP類;最終用戶直接訪問的腳本應該放在插件的classes目錄之外。

1

嘗試加載配置文件第一

require_once( '../../../../的config.php');

然後相對庫中加載到lib目錄

require_once($ CFG-> LIBDIR '/tcpdf.php');

+0

現在另外顯示'Notice:Undefined variable:CFG' and'Notice:Trying to get property of non-object' – freudsfreund

+0

這是因爲config.php沒有加載。你必須把路徑相對於你當前的文件。我編輯答案,試圖調整你的情況。 – santaka