【问题标题】:In dompdf what is the "setBasePath" function relative to?在 dompdf 中,“setBasePath”函数相对于什么?
【发布时间】:2016-08-11 01:41:32
【问题描述】:

我正在dompdf 中呈现一些 html 页面。但它似乎无法包含我的图像或外部 css 文件。如果我只是将页面打印到屏幕上,一切正常。但是 dompdf 找不到它们。

我发现了一个名为:setBasePath 的函数,其中文档声明“设置用于外部样式表和图像的基本路径”。听起来像我想要的,但这个基本路径相对也是什么?我尝试相对于 root 输入,但仍然没有找到任何东西。

$dompdf = new Dompdf();
$dompdf->loadHtml($template);
$dompdf->setBasePath(realpath('./'));
$dompdf->render();
$dompdf->stream('note');

【问题讨论】:

    标签: php dompdf


    【解决方案1】:

    基本路径是使用相对路径(例如inc/site.css)引用资源时使用的路径。对于使用绝对路径或完整 URI 引用的资源,不会使用基本路径。

    与任何其他运行脚本一样,Dompdf 不知道文件系统根目录以外的任何根路径。因此,任何绝对路径都是从文件系统的根目录读取的。相对路径是根据执行 PHP 脚本的当前工作目录 (CWD) 确定的。

    在您的示例中,您设置了相对于./ 的基本路径,这与使用$dompdf->loadHtml() 加载文档时dompdf 已经使用的基本路径相同。要给出更完整的答案,了解有关文件布局以及如何在 HTML 中引用这些文件的更多信息会有所帮助。

    请尝试this discussion,了解有关如何解释资源引用的更多信息。

    【讨论】:

    • 我了解基本路径应该做什么。什么是相对路径?如果 ./ 与 dompdf 使用的路径相同,则 dompdf 使用的路径是什么?是dompdf所在的目录吗?是调用dompdf的php文件所在目录吗?它是apache根吗?是服务器根吗?
    • 它们与执行 PHP 脚本的 CWD 相关,答案已更新。
    猜你喜欢
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2011-12-12
    • 2018-06-21
    • 2013-07-27
    相关资源
    最近更新 更多