TCPDF не может изображение, потому что он использует неправильный путь к каталогу

Я получаю свои изображения в моем pdf-документе на моем localhost, но на производственном сайте я получаю ошибку TCPDF ERROR: [Image] Unable to get image Я использую HTML-тег img для получения изображений, а src-это путь к каталогу этого изображения, а не url-адрес, но я узнал, что TCPDF добавляет путь, который я даю ему с путем к моей папке www, например:

путь к изображению я даю tcpdf: home/inc_dir/img / pic.формат JPG
tcpdf ищет его здесь: home/www/home/inc_dir / pic.формат JPG

может кто-то пожалуйста, помогите мне узнайте, что tcpdf объединяет каталоги?

3 ответов


TCPDF использует $_SERVER['DOCUMENT_ROOT'] как корневой каталог всех ваших изображений и строит их абсолютные пути по отношению к нему. Вы можете изменить его в $_SERVER или с этой константой PHP:K_PATH_MAIN:

define('K_PATH_MAIN', '/path/to/my-images/');
require_once 'tcpdf.php';

вы также можете изменить только путь, а не основной путь использовать:

define('K_PATH_IMAGES', '/path/to/images/');
require_once('tcpdf.php');

это не нарушит шрифты/ и другие пути tcpdf.


у меня такая же проблема. Но теперь все решено. Я изменил код TCPDF.php от

Код

if ($tag['attribute']['src'][0] == '/') {
   $tag['attribute']['src'] = $_SERVER['DOCUMENT_ROOT'].$tag['attribute']['src'];
}
$tag['attribute']['src'] = urldecode($tag['attribute']['src']);
$tag['attribute']['src'] = str_replace(K_PATH_URL, K_PATH_MAIN, $tag['attribute']['src']);

Новый Код

if ($tag['attribute']['src'][0] == '/') {
   $tag['attribute']['src'] = $_SERVER['DOCUMENT_ROOT'].$tag['attribute']['src'];
   $tag['attribute']['src'] = urldecode($tag['attribute']['src']);
   $tag['attribute']['src'] = str_replace(K_PATH_URL, K_PATH_MAIN, $tag['attribute']['src']);
}

пожалуйста, попробуйте это.