我得到了一个由我们组织中的前编码员处理的项目。它是一个基于 php 的应用程序,而且非常庞大(到处都有大量文件)。我试图找到一个存储在混乱中的某个地方的徽标,这样我就可以用更新后的徽标(且方向正确,由于某种原因被翻转)替换它。
即使它存储为文件,我也不知道这是哪个文件。当我通过本地主机运行应用程序时,我唯一的参考是像这样引用文件
data:image/png;base64,
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
RU5ErkJggg==
抱歉,我不知道如何使上述文件变小 - 但是的,这就是我需要更改为更新文件的文件。任何有关如何查找此文件和/或对其引用的帮助将不胜感激。
我使用的是 Ubuntu 14.04。
答案1
要搜索解码后的图像,请将其进行 base64 解码为reference.png
和
for file in `find /your/app/root/path -iname "*png"`; do
if `cmp -s reference.png "$file"`; then
echo $file
fi
done
如果找不到它,它可能没有后缀png
,所以不要-iname *png
简单地使用-f
.但这可能需要一段时间。
未找到?通过grep
ing 查找相关子字符串来搜索 Base64 编码的图像将花费更长的时间:
grep -rI "WrOWqDHKv135ghOXbgIwsnsn2ycnGRheh" /your/app/root/path
答案2
我猜测该图像位于数据库或实用程序/公共页面中。在图像所在的每个页面上都会调用的东西。
我会寻找显示该徽标的代码(PHP)。我还猜测它会在include(...)
orrequire(...)
文件中。查找步骤:
- 在带有图像的编辑器中打开几页的源代码。
- 寻找
<img
标签。 Base64 数据图像仍然需要该标签。 - 从每个部分向后追溯
<img
,直到找到呈现徽标的代码。
如果幸运的话,会有一个关于如何更改它的评论块。这就是我会做的:]