【问题标题】:DOMPDF - background url (linux vs windows)DOMPDF - 背景网址(linux vs windows)
【发布时间】:2016-03-22 00:27:46
【问题描述】:

当我从 html 生成 PDF 时,我的 img 不会显示在服务器 linux 上。

在 Localhost 中,我的图像正在显示。

我的代码css:

background: red url("<?php echo __DIR__ ?/my_img.png");

但是在服务器 linux 上,它没有被显示 信息:

如果我写

<img src="<?php echo __DIR__ ?/my_img.png"> 

我在两台服务器上都看到了这张图片。

编辑:

我需要重复图像(x 和 y) 所以我不插入

我试试这个

.myimg:after {
background: red url("<?php echo __DIR__ ?/my_img.png");
}

但没有显示 IMG。 所以我认为 DOMPDF 无法在 CSS 中解释背景中的 URL。

一个想法?

【问题讨论】:

  • ...什么? “我在两台服务器上都看到了这个 img。但在服务器 linux 上,他没有显示。” 当您使用 __DIR__ 时,图像是显示还是不显示?
  • 感谢您的回答。编辑。问题是我认为 CSS 不能解释
  • 它是 CSS 文件吗?如果是这样,您是否已将服务器/客户端配置为解析 .css 文件中的 php?
  • 也许您在 localhost 中使用的 DOMPDF 与您在 Server/Linux 中的 DOMPDF 不同。检查一下。
  • 相同版本。因为我用的是Zend Framework,所以framework里面的模块是一样的。

标签: php html css linux dompdf


【解决方案1】:

我发现:

<img src='data:image/png;base64,<?php echo base64_encode(file_get_contents("myimg.png")); ?>'>

它的作品!

【讨论】:

  • 这当然应该有效(但请注意white space bug,已在 0.7.0 中修复)。对图像的直接引用应该也可以,但是如果没有更多信息就很难调试。可能是路径问题或权限问题。
  • 不是问题“路径”或“权限”,因为 有效。 (权限为 755)。
  • 您使用的是哪个版本的 dompdf。 v0.5.1 对后台简写声明没有很好的支持。在那个版本中,尝试将你的 CSS 分成background-color: red; background-image: url("url("&lt;?php echo __DIR__ ?/my_img.png");。 v0.6.0 或更新版本应该可以使用简写声明。
  • 好的。我对这种样式没有任何问题。超越这一点将需要更多的来回。不知道您是否想在此之外进行更多调试,因为您已经找到了解决方案,但如果您确实前往 support forumstart a chat
猜你喜欢
  • 2013-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多