Maison >développement back-end >tutoriel php >PHP decode data:image/png;base64

PHP decode data:image/png;base64

WBOY
WBOYoriginal
2016-06-23 13:21:391990parcourir

请大大求解....
我用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图片



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn