我有一个功能设置,可以将AES加密图像解密为原始文件。长话短说,你可以这样称呼:DecryptFile($pathtofile)
这将在文件夹tmp/
上创建一个带有解密图像的文件,并返回路径,以便能够通过<img src="path">
插入图像。我只需要在当前执行脚本时显示它,并尽快删除它。
我尝试做的是unlink("path")
删除脚本末尾的文件,但如果我这样做,浏览器没有足够的时间加载图像,任何东西都会出现
我查看了是否可以使用tmpfile()
功能进行管理,但它似乎适合临时下载处理,因为我无法考虑使用<img>
显示任何图像的方式这个功能。
那里的人有什么想法吗?
答案 0 :(得分:2)
一种可能的解决方案是使用数据URI将图像数据直接存储在标记中。但是,如果有人要复制源代码,他们基本上会有图像,同样如果有什么东西正在缓存你的页面内容......我再次认为没有什么不同,“将图像保存为”或进行整页下载。但它可以让你免于复制/ mv / symlink / unlink。
<?php
$decrypted = DecryptFile($pathtofile);
$data = base64_encode(file_get_contents($decrypted));
$info = getimagesize($decrypted);
$image = sprintf('data:%s;base64,%s', $info['mime'], $data);
?>
<img src="<?php echo $image; ?>" />