2016-03-21 17 views
0

当我从html生成PDF时,我的img不显示在服务器linux上。DOMPDF - 后台网址(linux vs windows)

在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。

一个想法?

+0

...什么? _“我在这两台服务器上都看到了这个img 但是在linux的服务器上,他没有显示。”_当你使用'__DIR__'还是不显示图像? – Epodax

+0

感谢您的回答。编辑了。问题是CSS不解释我认为 – Greg

+0

它是一个CSS文件吗?如果是这样,你有没有配置你的服务器/客户端来解析.css文件中的php? – Epodax

回答

0

我发现:

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

它的作品!

+0

这当然应该工作(虽然要小心[白空间错误](https://github.com/dompdf/dompdf/issues/1016),固定在0.7.0)。对图像的直接引用也应该起作用,但如果没有更多的信息就很难进行调试。可能是路径问题或权限问题。 – BrianS

+0

不是问题'路径'或'权限'bercause 的作品。 (许可是755)。 – Greg

+0

您使用的是哪个版本的dompdf。 v0.5.1没有很好的支持背景短手声明。在该版本中尝试将你的CSS分成'background-color:red; background-image:url(“url(”<?php echo __DIR__?/my_img.png“);'.v0.6.0或更新版本应该可以用于短手声明 – BrianS