Hoi,

Ik zit al een aantal dagen met het volgende probleem te worstelen.

<?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");
}
?>

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.
zo te zien, zou dit moeten blijven werken, mits je de configfile niet lostrekt uit de directory waarin de rest van de files staan.

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.
Ik zou hem lekker in de root laten. Zoals ik het hier ziet:

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.
Wat bedoel je met de root? Ik heb deze map zo geupload naar m'n server verder niets veranderd

[size=xsmall]Toevoeging op 11/03/2015 17:27:45:[/size]

Ik heb mijn code nu helemaal gestript:

<?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();
?>

Het blijft dezelfde error als ik de mollie class weghaal werkt het zet ik die terug krijg ik de error class dompdf not found.

[size=xsmall]Toevoeging op 11/03/2015 18:01:13:[/size]

Bedankt allemaal voor de antwoorden, ik heb het probleem uiteindelijk opgelost door de nieuwste dompdf te uploaden en toen werkte het wel.

Reageren