2014-12-24 3 views
2

Я создаю файл PDF, но столкнулся с проблемой. Может ли кто-нибудь сказать мне решение этой ошибки. Ниже приведен код, который я использовал для этого. Я включаю tcpdf для этого, но есть фатальная ошибка, говорящая, что tcpdf-файл недоступен или мы можем сказать, что не нашли.Неустранимая ошибка: Class 'TCPDF' не найден

<?php 
    $tcpdf_include_dirs = array(realpath('tcpdf.php'), '/usr/share/php/tcpdf/tcpdf.php', '/usr/share/tcpdf/tcpdf.php', '/usr/share/php-tcpdf/tcpdf.php', '/var/www/tcpdf/tcpdf.php', '/var/www/html/tcpdf/tcpdf.php', '/usr/local/apache2/htdocs/tcpdf/tcpdf.php'); 
    foreach ($tcpdf_include_dirs as $tcpdf_include_path) { 
     if (@file_exists($tcpdf_include_path)) { 
      require_once($tcpdf_include_path); 
      break; 
     } 
    } 

    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // Create New PDF Doc 
    $pdf->SetCreator(PDF_CREATOR); //Setup a document information 

    include("db_connection.php");  

    $isql = mysqli_query($con, "SELECT * FROM `cpdf`") OR die("Data Select problem: ".mysqli_error($con)); 
    $num = mysqli_num_rows($isql); 

    $pdf->AddPage(); //Add new page 

    while($row = mysqli_fetch_array($isql)){ 
     $firstname = $row['fname']; 
     $lastname = $row['lname']; 
     $fullname = $firstname ." ".$lastname; 
     ?> 
<html> 
    <head> 
     <title>PDF Page</title> 
    </head> 
    <body> 
     <form> 
      <div> 
       <div><img style="width: 100%; height: 20%" src="image/FlZJRBAXRlweb design.idevtechnolabs.socialsigna.l.JPG"/></div> 
       <div style="width: 100%; height: 30%"> 
        <table style="float: right; border: 2;"> 
         <tr style="width: 10%;"><td style="text-align: left;"><?php echo $fullname; ?></td></tr> 
         <tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['add1']; ?></td></tr> 
         <tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['add2']; ?></td></tr> 
         <tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['city']; ?></td></tr> 
         <tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['state']; ?></td></tr> 
         <tr style="width: 20%;"><td style="text-align: left;"><?php echo $row['date']; ?></td></tr> 
        </table> 
       </div> 
       <div style="float: left; height: 10%;"> 
        <b>Subject:</b> <?php echo $row['subject']; ?> 
       </div> 
       <div style="height: 40%; width: 100%;"> 
        <p style="text-align: justify;">Hey, <br /><br /> Mr. <?php echo $fullname; ?>. This is to inform you that a day after tomorrow is the last date of your invoice payment. This is a reminder notice to pay your <?php echo $row['bill']; ?> invoice amount our nearest store and takes advantage of our services.</p> 
        <p style="text-align: justify; text-indent: 4em;">We request you to pay your <?php echo $row['bill']; ?> Bill as soon as possible.</p> 
        <span style="float: right;">Thank you,<br /><img src="#"/></span> 
       </div><?php $pdf->Write(0, $txt, '', 0, 'C', true, 0, false, false, 0); 
       } 
       $pdf->Output('example_002.pdf', 'I'); ?> 
      </div> 
     </form> 
    </body> 
</html> 
+0

- это класс в вашем tcpdf.php, который называется TCPDF? Также у вас могут быть проблемы с относительным путём. Это единственная ошибка, которую вы получаете или получаете трассировку стека? –

+0

Да, я столкнулся с этой ошибкой. –

+0

До '$ pdf = новый TCPDF (' вы должны использовать 'if (! Class_exists ('TCPDF')) {die ('TCPDF не может быть загружен. Abort!');}' И ваша Fatal Error исчезнет. – MonkeyZeus

ответ

2

В качестве первого шага, закомментируйте первые семь строк кода и добавить одну новую строку кода, которая включает в себя tcpdf.php используя полный путь к файлу. Если это не сработает, вы должны проверить содержимое файла tcpdf.php, чтобы убедиться, что он не был поврежден где-то на этом пути. То есть убедитесь, что он все еще содержит код, объявляющий класс TCPDF.

Если это работает, то закомментируйте заявление с жестко закодированным включением, раскомментируйте семь строк, которые были прокомментированы ранее, и добавьте эхо-инструкцию для печати переменной $tcpdf_include_path во время каждой итерации этого цикла. Пока один из этих путей соответствует жестко закодированному пути, который предположительно работал раньше, тогда ваш код должен работать нормально.

И, наконец, и я очень сомневаюсь, что это так, но если у вас была файловая система, чувствительная к регистру, и вам, например, удалось сохранить файл tcpdf.php как TCPDF.PHP, то это может способствовать к проблеме. Я только упоминаю эту возможность для полноты ответа, но это маловероятно, особенно на основе предоставленной вами информации, что это проблема в вашем случае.