图片外链转内链的方法有很多,比如将外链图片保存到自己的网站服务器中,从而调用网站服务器中的图片。
今天用的是使用自己的PHP文件来代替图片外链,将图像输出到PHP中,从而达到外链转内链的效果,无需下载图片到服务器中。
下面是代码
<?php header('Content-type:image/jpeg'); $url = base64_decode($_GET['avatar']);//获取URL参数 if ($url !== null) { // 尝试读取外部图片 if (@readfile($url) === false) { // 如果读取失败,输出默认图片 readfile('https://52lc.top/resource/image/kun.jpg'); } } else { // 如果没有提供URL,直接输出默认图片 readfile('https://52lc.top/resource/image/kun.jpg'); } ?>
效果可以看看本站的
源图片链接:http://thirdqq.qlogo.cn/ek_qqapp/AQNNLvIBpzuP3IwvzeHlQnNwtk2VvTUvo1x7WOnMX9UrriazMq1FmhgnqP0JRP44tuuoFQqwQ/100
我的图片链接demo:https://52lc.top/qlogo.php?avatar=aHR0cDovL3RoaXJkcXEucWxvZ28uY24vZWtfcXFhcHAvQVFOTkx2SUJwenVQM0l3dnplSGxRbk53dGsyVnZUVXZvMXg3V09uTVg5VXJyaWF6TXExRm1oZ25xUDBKUlA0NHR1dW9GUXF3US8xMDA=
avatar=参数,为什么这么长,因为参数中的URL我使用了Base64编码,所以在代码中我同样使用了Base64解码步骤 base64_decode()
但是此方法有个弊端,它可能会影响到图片的加载速度,甚至可能还会拖慢网站的速度。
因为是从外部图片URL获取图片并输出到浏览器。如果页面打开速度较慢,可能是外部图片资源加载慢。
因为如果从外部URL加载图片,那么图片所在服务器的响应时间、带宽限制、网络延迟等因素都会影响到加载速度。
如果外部图片所在的服务器响应慢或不稳定,你自己的网站页面加载自然也会受到一定的影响。
发布评论