2
require_once '../system/conf/options.class.php';

$file = basename(urldecode($_GET['logo']));
$fileDir = Options::getSetting('S_UPLOAD_DIRECTORY');

if (file_exists($fileDir . $file)) {

    // Note: You should probably do some more checks 
    // on the filetype, size, etc.
    $contents = file_get_contents($fileDir . $file);

    $ext = @end(explode('.', $file));
    $file = @end(explode('/', $file));

    // Note: You should probably implement some kind 
    // of check on filetype
    header('Content-type: image/' . $ext);

    echo $contents;

}

<img class="logo" src="getLogo.php?logo={$PAGE['general']['logo_file']}" />从 PDF 模板内部执行时,出现此错误

图片类型未知 getLogo.php?logo=75c562d5-8718-411c-a464-72c4d1c35f49.png

我也试过<img class="logo" href="getLogo.php?logo={$PAGE['general']['logo_file']}" />不显示错误,但也不显示图像。

有简单的解决方案吗?

4

1 回答 1

0

根据评论...您正在生成 HTML 文档,然后使用$dompdf->load_html(). 在这种情况下,Dompdf 将文档视为来自本地文件系统。这意味着没有域引用的图像将通过本地文件系统获取。因此,作为 PHP 脚本的图像引用将不起作用,因为 PHP 不会被解析。<img src="http://example.com/getLogo.php...简而言之,如果可以,请使用 ">之类的东西。


有一些 SO 答案可能有助于确定在使用load_html_fileload_html加载本地文件时如何确定路径。

于 2016-09-25T13:01:32.743 回答