2016-12-15 9 views
0

私はPHPを使用しています。 .svgファイルを取得するためにfile_get_contentsを使用し、イメージタグ内のデータURIとして使用するために変換したいと思います。これらの線に沿って何か:PHPを使用してimgタグデータに使用するSVGファイルを準備するuri

コントローラー:

$mylogo = file_get_contents(FCPATH.'app/views/emails/images/mylogo.svg'); 

ビュー:

それだけですべてのタグと、それをダンプしている今のように私が何か(BASE64?)に変換する必要が
<img src="data:image/svg+xml;utf8,<?= $mylogo ?>"> 

イメージは表示されますが、イメージを囲むimgタグの混乱を招きます。

+1

SVGはイメージタグのソースである必要はありません。 SVG要素をページに直接エコーすることができます。 – CGriffin

+0

ニース - それを埋め込むためにイメージタグに必要と確信していましたが、それは完全に機能しました。あなたが答えをしたいなら、私はそれをうれしく受け入れます。 – dgig

+0

これも私のために働いていましたが、あなたが指摘しているように、不必要なものでした: '$ mylogo = 'data:image/svg + xml; base64、' base64_encode(file_get_contents(FCPATH.'app/views/emails/images/mylogo.svg '));' – dgig

答えて

2

<svg>要素は他の要素と同様にWebページに直接エコーすることができます。 imgsrc属性として含める必要はありません。 PHPのincludeはこれに使用することができます(すなわち、include('/path/to/image.svg'))。

また、何らかの理由であなた実際imgタグとしてsvgを含める必要ため、file_get_contentsまたは同様の機能のための必要はありません場合は、 SVGは、他の画像タイプ(すなわち、<image src="/path/to/image.svg">)と同様にソースパスとしてリンクすることができます。

+0

これはありがとうございます。私は彼らがちょうどドームの一部になれるとは思わなかったので、これは素晴らしいことです。回答の2番目の部分については、私は確かにその方法を知っていた - 私の目的は、電子メールにsvgを埋め込んで、検索する添付ファイルや依存関係がないようにすることでした。 – dgig

関連する問題