是否可以从二进制数据重新创建图像(如果需要,可以对其进行处理)并显示在同一脚本中?就像是
// get and display image 1: $imagedata1 = file_get_contents('assets/test.png'); $imagedata1 = process_using_gd_or_something($imagedata1); echo "<img src={$imagedata1} >"; // <-- IS THIS (OR EQUIVALENT) POSSIBLE? // get and display image 2: //etc...
我想避免将图像处理后从那里存储到磁盘上,或者使用外部脚本…
您可以使用image 属性中的 数据URI 进行此操作src。
src
格式为: data:[<MIME-type>][;charset="<encoding>"][;base64],<data>
data:[<MIME-type>][;charset="<encoding>"][;base64],<data>
这个例子直接来自维基百科页面上的数据URI:
<?php function data_uri($file, $mime) { $contents = file_get_contents($file); $base64 = base64_encode($contents); return ('data:' . $mime . ';base64,' . $base64); } ?> <img src="<?php echo data_uri('elephant.png','image/png'); ?>" alt="An elephant" />