Class dompdf not found
Ik zit al een aantal dagen met het volgende probleem te worstelen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once("include/config.php");
session_start();
$_POST['id'] = "";
if(isset($_POST['id'])){
//Als ik het hier plaats werkt het wel.
require_once("include/Mollie/initialize.php");
if($payment->status == "paid"){
//vanaf hier
ob_start();
require_once('factuur.php');
$pdf_html = ob_get_contents();
ob_end_clean();
require_once('include/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();
$dompdf->load_html($pdf_html);
$dompdf->render();
$pdf_content = $dompdf->output();
//tot hier
require_once('include/swift/swift_required.php');
while($msgorder = mysql_fetch_object($sqlorder)){
$mailer = new Swift_Mailer(new Swift_MailTransport());
$message = Swift_Message::newInstance()
->attach(Swift_Attachment::newInstance($pdf_content, 'file.pdf', 'application/pdf'));
}
}
}
else{
echo("Error melding");
}
?>
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once("include/config.php");
session_start();
$_POST['id'] = "";
if(isset($_POST['id'])){
//Als ik het hier plaats werkt het wel.
require_once("include/Mollie/initialize.php");
if($payment->status == "paid"){
//vanaf hier
ob_start();
require_once('factuur.php');
$pdf_html = ob_get_contents();
ob_end_clean();
require_once('include/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();
$dompdf->load_html($pdf_html);
$dompdf->render();
$pdf_content = $dompdf->output();
//tot hier
require_once('include/swift/swift_required.php');
while($msgorder = mysql_fetch_object($sqlorder)){
$mailer = new Swift_Mailer(new Swift_MailTransport());
$message = Swift_Message::newInstance()
->attach(Swift_Attachment::newInstance($pdf_content, 'file.pdf', 'application/pdf'));
}
}
}
else{
echo("Error melding");
}
?>
Het gedeelte (vanaf hier - tot hier) werkt niet als het op de huidige plaats in het script staat, staat het op de plaats (//Als ik het hier plaats werkt het wel). dan werkt het wel goed.
Maar op de plaats waar het nu staat geeft het de melding Class dompdf not found, en daar moet het komen te staan.
Kan het komen doordat ik de mollie class include en de dompdf class?
Ik hoop dat de uitleg duidelijk is.
ps. ik heb een deel van de code weggelaten.
Gewijzigd op 10/03/2015 21:25:42 door Daan Slagter
je includeert niet de DOMPDF-class. Ik zie alleen een dompdf_config.inc.php.
http://www.digitaljunkies.ca/dompdf/faq.php
En als ik het boven de mollie class plaats werkt het wel.
Dat is volgens mij het enige bestand wat ik moet includeren. Als ik op deze website kijk bij de voorbeelden is dat ook het enige bestand wat wordt geincludeert. En als ik het boven de mollie class plaats werkt het wel.
Gewijzigd op 10/03/2015 21:33:50 door Daan Slagter
Wel apart, maar dan zet je die include toch boven je mollie-class?
Dat werkt dus ook niet dat heb ik ook al geprobeer dan krijg ik ook de melding Class dompdf not found.
Het werkt in de root, omdat coding van dompdf_config.inc.php daarop afgesteld is, dus als je hem verplaatst naar een ander map, zul je dus ook paths naar functions/classes moeten wijzigen in dompdf_config.inc.php.
Gewijzigd op 11/03/2015 01:12:07 door Goto Learn
Nee, je moet de paths wijzigen naar classes/functions of laat hem gewoon in de root.
Waar vind ik de paths? Ik kan die niet vinden in het dompdf_config.inc.php.
Jawel hoor. Kijk naar define() in je dompdf_config.inc.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
/**
* The root of your DOMPDF installation
*/
define("DOMPDF_DIR", realpath(dirname(__FILE__)));
/**
* The location of the DOMPDF include directory
*/
define("DOMPDF_INC_DIR", DOMPDF_DIR . "/include");
/**
* The location of the DOMPDF lib directory
*/
define("DOMPDF_LIB_DIR", DOMPDF_DIR . "/lib");
/**
* The location of the DOMPDF font directory
*
* Note this directory must be writable by the webserver process (or user
* executing DOMPDF from the CLI). *Please note the trailing slash.*
*/
define("DOMPDF_FONT_DIR", DOMPDF_DIR . "/lib/fonts/");
?>
/**
* The root of your DOMPDF installation
*/
define("DOMPDF_DIR", realpath(dirname(__FILE__)));
/**
* The location of the DOMPDF include directory
*/
define("DOMPDF_INC_DIR", DOMPDF_DIR . "/include");
/**
* The location of the DOMPDF lib directory
*/
define("DOMPDF_LIB_DIR", DOMPDF_DIR . "/lib");
/**
* The location of the DOMPDF font directory
*
* Note this directory must be writable by the webserver process (or user
* executing DOMPDF from the CLI). *Please note the trailing slash.*
*/
define("DOMPDF_FONT_DIR", DOMPDF_DIR . "/lib/fonts/");
?>
dus als jouw config vanuit de zip bleek te staan in
/some/dir/dompdf/dompdf_config.inc.php, dan daar laten staan en in je script dus ook het path opgeven naar die config file.
van daaruit moet vervolgens ook class.dompdf.php oid. gevonden kunnen worden (en die files moeten uiteraard ook geupload worden naar de server)
Ja dat is precies wat ik dus nu heb, en het werkt ook als het gedeelte in de eerste post (//vanaf hier - //tot hier) staat op de plaats(//Als ik het hier plaats werkt het wel.) maar niet op de plaats waar het nu staat en dat is wel de plaats waar het moet komen. Omdat ik eerst moet kijken of er betaald is voordat ik een factuur genereer.
https://github.com/dompdf/dompdf
Staat config file normaal in de root en je hebt hem verplaatst naar include/dompdf/
Dan zit de kans er ook in dat je de path moet wijzigen.
Toevoeging op 11/03/2015 17:27:45:
Ik heb mijn code nu helemaal gestript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
require_once("include/Mollie/initialize.php");
ob_start();
require_once('factuur.php');
$pdf_html = ob_get_contents();
ob_end_clean();
require_once("include/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($pdf_html);
$dompdf->render();
$pdf_content = $dompdf->output();
?>
require_once("include/Mollie/initialize.php");
ob_start();
require_once('factuur.php');
$pdf_html = ob_get_contents();
ob_end_clean();
require_once("include/dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($pdf_html);
$dompdf->render();
$pdf_content = $dompdf->output();
?>
Het blijft dezelfde error als ik de mollie class weghaal werkt het zet ik die terug krijg ik de error class dompdf not found.
Toevoeging op 11/03/2015 18:01:13:
Bedankt allemaal voor de antwoorden, ik heb het probleem uiteindelijk opgelost door de nieuwste dompdf te uploaden en toen werkte het wel.