Home  >  Article  >  Backend Development  >  PHP decode data:image/png;base64

PHP decode data:image/png;base64

WBOY
WBOYOriginal
2016-06-23 13:21:391944browse

请大大求解....
我用file_get_contents() return 以下图 ,请问有什么办法变成data:image/png;base64 图片?




如果我直接用browser直接输入那个url 将会return script

nbsp;HTML>

9v0t1bjOfBu376Crfnd8/Ztsa3GSIKN3SlbUWuIrvZrFjPfBqMay3iifa99ZVvj+/1qxNaVIVRbGJl+umNImP5I50BKbpv4vW+oAW7LSBz6zOpMuaXE51y1x8thueSU3pnWCfthdeSoFWlNXvsWWjo4RtHoS1spBhVFWlIbDXNCVKvx0vmMrYfRaTbXykkCZF9Lw6l7cq/Wxai7ANgwDbpIqOdArfXN4LDKdK0APGwSJYBjHwFYRBSzafORl5PUWnKLCXhp0CQRHYXoEVAyJwbgr8ArSDcuCncxVggl1vIdPPnMs7WTkXZKFyCbvesgi8NncZYg27BPYY/HZTIJTwu2ESGB9bwFU1Ail4egPqPDyH32WqPMx8zxp8TjCfIq1sLp8FDoJZ1lgzYIPmUwgiWvlTh/VMNep7B5EOJXmO0y42U1VLdRX1uZTx35lOo5dYpp0qCNAqvR8clrXmrwKfYSZXts4Ofs+BzVHdCfifn0kU+zdq4zSfxxAFxwiB0arUuTVMRqeNFIKmmSh3I/pUeNNHLdBB+jOpPaWh1kU/kE+Qzzke8xiufPMGVlHkxRdNIoOF2BDf6nWJ1fLH3za8FghOpM87VaC8K+pZmLR20cwX0OI0hN3UUZFpjnwj95rqtiIrCYCCwmAouJwGIisNjaC1wAAmAbqAQHwTHQBi6CK+AWGAOPwWswD2LgA5gGj8AIuAa6wRlwHBwB1WAn2CR6ZVfgraAX/AAfwQwJqIS8CfpJ4JOgnoRXHaAUbKRrKNF2kIhKzCYSV4kcAvdJ/FfUGb5Ip8i8wAlhlaiX6TibJp0igwKr6fjtOgkrnSJLI7ggT6Y3GzqFRNGWd4r/X2A83CX2K+YwafYebTpHfGvJ6icZMqSlf0Bgtp5WHt/LyaTh0EDruINO7QuWrBoOYXN8wqD1i9ecP13zGfO1pZg8OyomaY7zTL3AOtmYre130Nxo06DI1WD7q0Y9UYe5NEpP1q9FMgpZ+PJqmncuLroIxmjLhD3WKXTlSo+c1pIgZWEUWrZajdyiBLjRQeybLj5iQpx5BWFmBlcQ+NHAUjoAY8YVBORw0KGgoAAAANSUhEUgAAAHgAAAAyCAYAAACXpx/YAAAEJ0lEQVR42u2aX0jTURTHx6w1JCIRsT9EICEiIr1IREUQPYmYCCYiQRKESUTUg4SIidiD9LAirJAIKRFkDxEigYVE9RCJ1YgQX0oiQoIQiWFjZd9LZ3A73d9vPzc329058Bn7/e65vz/3e/+cczefz+dbEazmz4eYlSYCi8Blyhrc1gBgVWoh4l/1FDOV8qTDtooTQEfpjYrbNB4EHWsLsMPuW0i/XXpkaKAleDXvpHxxKlOTH6rs6dB5td1sV/pk6acrlPrcP7VtA/SiZpNorTbPGSfkDZb+VWpZjFPzaIicBiIrCYCCwmAovAYiKwmAgsJgKLicBiIrCYCCwCi9ktsGApvwHR+2AyjibXiwAAAABJRU5ErkJggg==<script>(function(f,k){function a(){for(var a=arguments,e="",c=0;c<a.length;c++)e="[object Function]"===Object.prototype.toString.call(a[c])?e+a[c]():e+a[c];if(k&&(l=k.parent.top.frames.vrlWindowID)&&22177===l.windowID)return e}function n(){return a(p,"1")}function q(){return a(r,"3")}function s(){return a(q,"2")}function t(){return a(u,"2")}function v(){return a(w,"5")}function x(){return a("1")}function y(){return a(v,"5")}function u(){return a(z,"3")}function A(){return a(B,"3")}function z(){return a(C, <br />"1")}function D(){return a(E,"7")}function B(){return a(t,"1")}function F(){return a("3")}function G(){return a(x,"1")}function E(){return a(A,"5")}function p(){return a(D,"3")}function H(){return a(y,"8")}function w(){return a(n,"8")}function I(){return a(s,"3")}function C(){return a(G,"2")}function r(){return a(F,"3")}var g,d,h,b,l;g=f.body;d=["img",{src:function(){for(var a=0,e="",c=arguments,b,d=0;d<c[1].length;d++)b=c[0].substring(a,a+=parseInt(c[1][d])),e+=f.getElementById(b).textContent;return"data:image/png;base64,i"+ <br />e}(a(function(){return a(H,"2")},"7"),a(function(){return a(I,"2")},"2"))},"a",{href:"#"}];for(b=0;b<d.length;b++)if(b&1){for(var m in d[b])h.setAttribute(m,d[b][m]);g.appendChild(h)}else h=f.createElement(d[b]);(function(a){a.onclick=function(){f.location.reload(!0);return!1}})(g.lastChild)})(document,parent);</script>

以上script将会直接return data:image/png;base64图片


回复讨论(解决方案)

请给出原始的 url

原始的url

https://vrl.lta.gov.sg/lta/vrl/action/captchaImg?FUNCTION_ID=F0501015ET

这个是我直接在browser输入url return的资料

你给的 url 有 js 错,什么都不显示
请给出正确的 url

hi xuzuning,

这个是我的url : https://i-solutions.biz/readcontent/read.php
我要读取的url : https://vrl.lta.gov.sg/lta/vrl/action/pubfunc?ID=EnquireTransferFee
读取captcha的url : https://vrl.lta.gov.sg/lta/vrl/action/captchaImg?FUNCTION_ID=F0501015ET

你会看到当你直接browser captcha url的时候会出现js error:
Uncaught TypeError: Cannot read property 'length' of undefined

原因如下: windowID no match 
if(k&&(l=k.parent.top.frames.vrlWindowID)&&226786===l.windowID)


有几个问题不明白的是

做法 1.:
$b = file_get_contents("https://vrl.lta.gov.sg/lta/vrl/action/captchaImg?FUNCTION_ID=F0501015ET");
echo $b;
显示

*小弟不明白为什么会return这些乱码而不是像我在browser那样return js回来?

做法 2.:
在browser直接输入captcha url, 然后我把return回来的js ,
把 if(k&&(l=k.parent.top.frames.vrlWindowID)&&226786===l.windowID) 换成 if(1==1)
 echo出来 就可以直接显示 base64图片



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn