使用 PHP 准备 SVG 文件以在 img 标签数据 uri 中使用

dgi*_*gig 5 html php svg image

我正在使用 PHP。我想使用 file_get_contents 获取 .svg 文件,并将其转换为图像标签中的数据 uri。沿着这些思路:

控制器:

$mylogo   = file_get_contents(FCPATH.'app/views/emails/images/mylogo.svg');
Run Code Online (Sandbox Code Playgroud)

看法:

<img src="data:image/svg+xml;utf8,<?= $mylogo ?>">
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为某种东西(base64?),因为现在它只是将其转储到标签中,尽管图像确实出现了,但它使周围的 img 标签变得混乱。

CGr*_*fin 6

<svg>元素可以像任何其他元素一样直接回显到网页上;无需将其作为img src属性包含在内。PHPinclude可以用于此目的(即include('/path/to/image.svg')),还有无数其他方法。

或者,如果由于某种原因您需要将 包含svg为实际img标签,则不需要file_get_contents或类似的功能;SVG 可以像任何其他图像类型一样链接为源路径(即<image src="/path/to/image.svg">)。