2016-12-23 7 views
1

при нажатии на ссылку, которую мы хотим скачать php page Данные в формате Pdf.Fatal error: Class 'TCPDF' не найден на другом пути

Так мы загрузили TCPDF из официального git hub link

мы скопировали извлеченный папку путь: "/вар/WWW/HTML/sbdev2/PHP/site6"

, когда мы запустим пример кода в браузере : http://sbdev2.kidsdial.com:81/php/site6/tcpdf/examples/example_011.php мы можем скачать pdf.

когда мы пытались тот же код на другом пути: http://sbdev2.kidsdial.com:81/php/site6/example_011.php, мы получаем ошибку как «Fatal error: Class 'TCPDF' not found в» в строке: класс MYPDF расширяет TCPDF {

я проверил link, но которые не работают для меня.

также я проверил link2 & Установил TCPDF через композитор, как показано ниже. но все же эта ошибка есть.

enter image description here

example_011.php

require_once('tcpdf_config.php'); 

// extend TCPF with custom functions 
class MYPDF extends TCPDF { 

    // Load table data from file 
    public function LoadData($file) { 
     // Read file lines 
     $lines = file($file); 
     $data = array(); 
     foreach($lines as $line) { 
      $data[] = explode(';', chop($line)); 
     } 
     return $data; 
    } 

    // Colored table 
    public function ColoredTable($header,$data) { 
     // Colors, line width and bold font 
     $this->SetFillColor(255, 0, 0); 
     // Header 
     $w = array(40, 35, 40, 45); 
     $num_headers = count($header); 
     for($i = 0; $i < $num_headers; ++$i) { 
      $this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1); 
     } 
     $this->Ln(); 
     // Color and font restoration 
     $this->SetFillColor(224, 235, 255); 
     $this->SetTextColor(0); 
     $this->SetFont(''); 
     // Data 
     $fill = 0; 
     foreach($data as $row) { 
      $this->Cell($w[0], 6, $row[0], 'LR', 0, 'L', $fill); 
      $fill=!$fill; 
     } 
     $this->Cell(array_sum($w), 0, '', 'T'); 
    } 
} 

// create new PDF document 
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

// set document information 
$pdf->SetCreator(PDF_CREATOR); 
$pdf->SetAuthor('Nicola Asuni'); 

// set default header data 
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 011', PDF_HEADER_STRING); 

// set header and footer fonts 
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 

// set default monospaced font 
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 

// set margins 
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 

// set auto page breaks 
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

// set image scale factor 
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 

// set some language-dependent strings (optional) 
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) { 
    require_once(dirname(__FILE__).'/lang/eng.php'); 
    $pdf->setLanguageArray($l); 
} 

// --------------------------------------------------------- 

// set font 
$pdf->SetFont('helvetica', '', 12); 

// add a page 
$pdf->AddPage(); 

// column titles 
$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)'); 

// data loading 
$data = $pdf->LoadData('data/table_data_demo.txt'); 

// print colored table 
$pdf->ColoredTable($header, $data); 

// --------------------------------------------------------- 

// close and output PDF document 
$pdf->Output('example_011.pdf', 'I'); 

Редактировать

tcpdfconfig.php

require_once('config/tcpdf_config_alt.php'); 

// Include the main TCPDF library (search the library on the following directories). 
$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; 
    } 
} 

Edit2

его работы только тогда, когда я включать файлы в подпапке /вар/WWW пример/html/sbdev2/PHP/site6/TCPDF/ Папка:

/var/www/html/sbdev2/php/site6/tcpdf/example1 
/var/www/html/sbdev2/php/site6/tcpdf/example1 

если я скопировать содержание пример папки на другой путь, скажем: /вар/WWW/HTML/sbdev2/PHP/site6/ ее не работает вообще .....

+0

Вы пишете, что вы меняете путь к вашему коду, имеете ли вы правильный путь для TCPDF при включении? – dimis283

+0

@ dimis283 Я скопировал файл 'tcpdf_include.php' под'/var/www/html/sbdev2/php/site6' –

+0

@ dimis283 извините, я скопировал файл 'tcpdf_config.php' в'/var/www/html/sbdev2/php/site6', так как я получил файл 'tcpdf_config.php' в папке' config' .... –

ответ

1

Я также столкнулся с этой проблемой и Atlast получил й е решение. Все в порядке, пусть каждый файл остается на своем исходном пути, просто вам нужно открыть tcpdf_include.php и включить файл tcpdf.php, вот и все! require_once (... INSTALED DIRECTORY ... \ tcpdf.php '); Он будет работать, все самое лучшее

-1

В примере 001 изменил эту строку:

// Include the main TCPDF library (search for installation path). 
require_once('tcpdf_include.php'); 

В это:

// Include the main TCPDF library (search for installation path). 
require_once('**C:\wamp\www\pdf2\tcpdf\tcpdf.php**'); 

И это работает для меня на WAMP.

Надеюсь, это поможет!

+0

Это не может работать, потому что это для Windows, и он использует Linux. –