filepath — PHP включает путь

Я нашел обходной путь, но он не удовлетворяет меня, потому что я не знаю, почему возникает проблема.

На моем сайте я использую два скрипта: ScriptA.php и ScriptB.php. В ScriptA.php я использую

$font = 'img/cert/f1.ttf'; // path to font

В ScriptB.php это генерирует ошибку:

PHP Warning:  imagettfbbox(): Could not find/open font in /var/www/vhosts/br-digitalsolutions.eu/httpdocs/partner/scriptB.php

Поэтому я должен использовать полный путь:

$font = '/var/www/vhosts/br-digitalsolutions.eu/httpdocs/partner/img/cert/f1.ttf'; // path to font

-1

Решение

Если вы напишите свой шрифт так:

$font = "{$_SERVER["DOCUMENT_ROOT"]}/partner/img/cert/f1.ttf";

Вы должны быть в состоянии устранить эту ошибку. Это эквивалентно /var/www/vhosts/br-digitalsolutions.eu/httpdocs/partner/img/cert/f1.ttf,

$_SERVER["DOCUMENT_ROOT"] уже указывает на /var/www/vhosts/br-digitalsolutions.eu таким образом, указание путей таким способом становится намного проще и менее подвержено ошибкам.

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

0

Другие решения

Построить полный путь 'f1.ttf' с пути ScriptA.php с помощью функции dirname() и магическая константа __DIR__ (или же __FILE__ если вы используете версию PHP старше 5.3):

$font = __DIR__.'/img/cert/f1.ttf';

Проверьте также этот ответ (и комментарии) на аналогичный вопрос.

0