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']);
}
пожалуйста, попробуйте это.