在base64之外解码图像时是否需要EOFILE


Is EOFILE needed when decoding images off base64?

我了解WAMP是如何做到这一点的,我想在我的网站上实现这项技术,从数据库中获得图像加密,基本上就是我目前所做的;但是每当我用变量中的"EOFILE"回显base64解码时,图像就会导致错误。

但是,每当我只有base64解码回声而没有在变量中添加"EOFILE"时,图像就会显示出来。

我的问题是,有没有办法在<lt<EOFILE$x。EOFILE;

或者,在PHP代码中不包含"EOFILE"是完全可以的。

以下是一些参考资料:

WAMP,在为变量分配加密时使用"EOFILE":

$pngPlugin = <<< EOFILE
//base64 encryption of the image
EOFILE;

我正在尝试的,没有EOFILE:

//note that the file when uploaded will get base64_encode() to the DB
$test = file_get_contents('./image.png');
$test2 = base64_encode($test);
//then implemented this way on the page via the DB
header("Content-type: image/png");
echo base64_decode($test2);

将变量添加到<lt<由于某些原因,EOFILE实际上不起作用,但它真的需要吗?我以前从未在PHP中使用过EOFILE,谷歌也没有真正为我做任何好事,但它有多重要?如果我的代码中没有包含它,我需要担心吗?

此外,什么是"<lt<'用于PHP?

谢谢:)

EOFILE是Heredoc语法中的任意标识符,用于定义字符串文字。

您可以选择任何标识符,例如:

$i = <<< EOM
The message goes here.
EOM;

然而,如果您已经有一个包含base64编码数据的变量(例如来自数据库),您可以简单地执行以下操作:

echo base64_decode($str);